package Ġbe . hog ent . fa ith . fa ith . login Or Register . register Avatar Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠResource Avatar Provider ( private Ġval Ġcontext : ĠContext ) Ġ: ĊĠĠĠ ĠAvatar Provider Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Draw ables ( skin Color : ĠSk in Color ): ĠList < Drawable > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Av atars ( skin Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map ( Avatar :: avatar Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġavatar Name Ġ-> Ġget Avatar Drawable ( avatar Name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable ( avatar Name : ĠString ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Drawable ( avatar Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable St aan ( avatar Name : ĠString ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Drawable ( avatar Name ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable St aan Id ( avatar Name : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . getIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavatar Name , Ġ" drawable ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . packageName ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable Z it ten ( avatar Name : ĠString ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Drawable ( avatar Name , Ġ" bank ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable Ge z icht ( avatar Name : ĠString ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Drawable ( avatar Name , Ġ" h oo fd ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable Outline ( avatar Name : ĠString ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Drawable ( get Avatar name Without Skin Color ( avatar Name ), Ġ" outline ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Drawable ( avatar Name : ĠString , Ġtype : ĠString ? Ġ= Ġnull ): ĠDrawable Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġavatar ResourceName Ġ= Ġif Ġ( type Ġ!= Ġnull ) Ġ"${ avatar Name }_ $ type " Ġelse Ġavatar Name ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Resource Ġ: $ avatar ResourceName ") ĊĠĠĠĠĠĠĠ Ġval Ġresource Id Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . resources . getIdentifier ( avatar ResourceName , Ġ" drawable ", Ġcontext . packageName ) ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Resource Ġ: $ resourceId ") ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . get Drawable ( resourceId ) !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Avatar Drawable Outline Id ( avatar Name : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . resources . getIdentifier ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ get Avatar name Without Skin Color ( avatar Name )} _ outline ", Ġ" drawable ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . packageName ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Avatar name Without Skin Color ( avatar Name : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġavatar Name . substring ( 0 , Ġavatar Name . length Ġ- Ġ 3 ) ĊĠĠĠ Ġ} Ċ }