package Ġcom . gmail . h ame dv ak hide . inst acl one . views . fragments Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . gmail . h ame dv ak hide . inst acl one . R Ċ import Ġcom . gmail . h ame dv ak hide . inst acl one . adapter . Post Adapter Ċ import Ġcom . gmail . h ame dv ak hide . inst acl one . model . Post Ċ import Ġcom . gmail . h ame dv ak hide . inst acl one . view model . Main ViewModel Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ // import Ġcom . gmail . h ame dv ak hide . inst acl one . view model . Main ViewModel Ċ import Ġkotlinx . android . synt hetic . main . fragment _ home . view .* Ċ Ċ @ Android EntryPoint Ċ class ĠHome Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġre cyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpost Adapter : ĠPost Adapter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpost List : ĠMutable List < Post > ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġ: ĠMain ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ home , Ġcontainer , Ġfalse ) ĊĊĠĠĠĠĠĠĠ Ġre cyclerView Ġ= Ġview . recycler _ view _ home ĊĠĠĠĠĠĠĠ Ġval Ġlinear LayoutManager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠ Ġ/// show Ġnew Ġpost Ġat Ġtop ĊĠĠĠĠĠĠĠ Ġlinear LayoutManager . reverse Layout Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġlinear LayoutManager . stack From End Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= Ġlinear LayoutManager ĊĊĠĠĠĠĠĠĠ Ġpost List Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġpost Adapter Ġ= Ġcontext ?. let Ġ{ ĠPost Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit , Ġpost List Ġas ĠArrayList < Post >, ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Posts Lik edBy CurrentUser Mutable LiveData List , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . posts Lik es Number Mutable LiveData List , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . posts Comments Number Mutable LiveData List , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . posts Publish ers Info Mutable LiveData List , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Lifecycle Owner ĊĠĠĠĠĠĠĠ Ġ) Ġ} !! ĊĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġpost Adapter ĊĊĠĠĠĠĠĠĠ ĠviewModel . posts Mutable LiveData List . observe ( view Lifecycle Owner , Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost List . clear () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost List . addAll ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get Posts Publish ers Info ( post List ) ////// ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get Posts Comments Number ( post List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get Posts Lik es Number ( post List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . is Posts Lik ed ( post List ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpost Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĊĠĠĠĠĠĠĠ ĠviewModel . get Posts () ĊĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} Ċ Ċ }