package Ġcom . infos k ills . android view model app Ċ Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . infos k ills . android view model app . model . User Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ import Ġjava . lang . StringBuilder Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmain Repository Ġ= ĠMain Repository ( User ( 1 ," Son u ĠK umar ", Ġ" https :// www . gr avatar . com / avatar / 2 0 5 e 4 6 0 b 4 7 9 e 2 e 5 b 4 8 aec 0 7 7 1 0 c 0 8 d 5 0 . jpg ")) ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Factory Ġ= ĠMain ViewModel Factory ( main Repository ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this , ĠviewModel Factory ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Main ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . getUser () ĊĊĠĠĠĠĠĠĠ ĠviewModel ._ user . observe ( this , Ġ{ Ġuser Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv UserId . text Ġ= Ġuser . uid . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserName . text Ġ= Ġuser . displayName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Profile Image . do G lide ( user . profile Url ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠImageView . do G lide ( profile Url : ĠString ) Ġ{ ĊĠĠĠ ĠG lide . with ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( profile Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. placeholder ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. error ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( this ) Ċ } Ċ