package Ġru . clear line . instagram . screens . add friends Ċ Ċ import Ġandroid . arch . lifecycle . Observer Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . widget . Linear LayoutManager Ċ import Ġru . clear line . instagram . R Ċ import Ġru . clear line . instagram . models . User Ċ import Ġru . clear line . instagram . screens . common . Base Activity Ċ import Ġru . clear line . instagram . screens . common . setup Auth Guard Ċ import Ġkotlinx . android . synt hetic . main . activity _ add _ friends .* Ċ Ċ class ĠAdd Friends Activity Ġ: ĠBase Activity (), ĠF riends Adapter . Listener Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm User : ĠUser ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Adapter : ĠF riends Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm ViewModel : ĠAdd Friends ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ add _ friends ) ĊĊĠĠĠĠĠĠĠ Ġm Adapter Ġ= ĠF riends Adapter ( this ) ĊĊĠĠĠĠĠĠĠ Ġsetup Auth Guard Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel Ġ= Ġinit ViewModel () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġback _ image . setOnClickListener Ġ{ Ġfinish () Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd _ friends _ recycler . adapter Ġ= Ġm Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd _ friends _ recycler . layout Manager Ġ= ĠLinearLayoutManager ( this ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġm ViewModel . user And Friends . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ?. let Ġ{ Ġ( user , Ġother Users ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm User Ġ= Ġuser ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . update ( other Users , Ġm User . follow s ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfollow ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Follow ( uid , Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . follow ed ( uid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun follow ( uid : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Follow ( uid , Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Adapter . un follow ed ( uid ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Follow ( uid : ĠString , Ġfollow : ĠBoolean , ĠonSuccess : Ġ() Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . set Follow ( m User . uid , Ġuid , Ġfollow ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ ĠonSuccess () Ġ} ĊĠĠĠ Ġ} Ċ }