package Ġjak ub . j ed re ck i . ah ilt . ui . photos Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ 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 . google . android . material . sn ackbar . Snackbar Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ import Ġjak ub . j ed re ck i . ah ilt . R Ċ import Ġjak ub . j ed re ck i . ah ilt . domain . model . Photo Item Ċ import Ġjak ub . j ed re ck i . ah ilt . ui . photos . adapter . Photos Adapter Ċ Ċ @ Android EntryPoint Ċ class ĠPh otos Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġphotos ViewModel : ĠPh otos ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdrivers RecyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġphotos Adapter : ĠPh otos Adapter ĊĠĠĠ Ġprivate Ġval Ġphotos List : ĠMutable List < Photo Item > Ġ= Ġarray ListOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ photos , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetUp Observer s () ĊĊĠĠĠĠĠĠĠ Ġphotos Adapter Ġ= ĠPh otos Adapter ( photos List ) ĊĠĠĠĠĠĠĠ Ġval Ġview Manager Ġ= ĠLinearLayoutManager ( require Context ()) ĊĠĠĠĠĠĠĠ Ġdrivers RecyclerView Ġ= Ġview . findViewById ( R . id . rv _ photos ) ĊĠĠĠĠĠĠĠ Ġdrivers RecyclerView . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= Ġview Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġphotos Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġphotos ViewModel . get Photos () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠsetUp Observer s () Ġ{ ĊĠĠĠĠĠĠĠ Ġphotos ViewModel . photos . observe ( view Lifecycle Owner , Ġ{ Ġphotos Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphotos List . removeAll ( photos ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphotos List . addAll ( photos ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphotos Adapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġphotos ViewModel . sn ackBar Msg . observe ( view Lifecycle Owner ) Ġ{ Ġsource Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġmessage Ġ= Ġsource . format ( require Context ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSn ackbar . make ( require View (), Ġmessage , ĠSn ackbar . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e (" TAG ", Ġmessage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }