package Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . model . view model Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroid . graphics . drawable . Drawable Ċ import Ġandroid . net . Uri Ċ import Ġandroidx . lifecycle . LiveData Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . bump tech . glide . request . target . Custom Target Ċ import Ġcom . bump tech . glide . request . transition . Transition Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . model . entity . Firebase Badge Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . utils . Login Status Util Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . utils . firebase . Realtime Util Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . utils . firebase . Storage Util Ċ import Ġcom . gr inde wal d 1 9 0 0 . sh ere ats . view . custom . Round Corner ImageView ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠY ee Ġon Ġ 2 0 2 1 - 1 2 - 2 6 . Ċ Ġ* ĠGithub : ĠGr inde wal d 1 9 0 0 Ċ Ġ* ĠEmail : Ġgr inde wal d 1 5 0 4 @ gmail . com Ċ Ġ*/ Ċ class ĠUserInfo ViewModel : ĠBase ViewModel () Ġ{ ĊĠĠĠ Ġprivate Ġvar ĠimageUrl : ĠMutable LiveData < Uri > Ġ= ĠMutable LiveData () ĊĠĠĠ Ġprivate Ġvar Ġbad ges : ĠMutable LiveData < List < Firebase Badge >> Ġ= ĠMutable LiveData () ĊĊĠĠĠ Ġfun Ġget Profile Image (): ĠLive Data < Uri >{ ĊĠĠĠĠĠĠĠ Ġreturn ĠimageUrl ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġimage Ġfor Ġthe Ġuser Ġprofile Ġpicture ( if Ġlogin ) ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġset Profile Image ( name : ĠString , Ġview : ĠRound Corner ImageView , Ġcontext : ĠContext ){ ĊĠĠĠĠĠĠĠ Ġval Ġchild Path Ġ= Ġ" user /$ name . jpg " ĊĠĠĠĠĠĠĠ Ġval Ġpath Reference Ġ= ĠStorage Util . reference . child ( child Path ) ĊĠĠĠĠĠĠĠ Ġpath Reference . download Url . add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. as Bitmap () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( it . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( object : ĠCustom Target < Bitmap > (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Resource Ready ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresource : ĠBitmap , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransition : ĠTransition < in ĠBitmap >? ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview . setImage ( resource ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonLoad Cle ared ( placeholder : ĠDrawable ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl . post Value ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Firebase Badge (): ĠLive Data < List < Firebase Badge >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġbad ges ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġset Firebase Badge () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfirebase Badge : ĠMutable List < Firebase Badge > Ġ= Ġmutable ListOf () ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠLogin Status Util . getUserId () ĊĠĠĠĠĠĠĠ ĠReal time Util . badge Reference . child ( id ). get (). add On Success Listener Ġ{ Ġit Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( it . children Count Ġ> Ġ 0 ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . children . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfirebase Badge . add ( it . getValue ( Firebase Badge :: class . java ) !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbad ges . post Value ( firebase Badge ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . stack Trace ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }