package Ġbr . com . hack smiles . ui . th rid screen Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . navigation . fragment . nav Args Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġbr . com . hack smiles . R Ċ import Ġbr . com . hack smiles . databinding . Fragment Third Form Binding Ċ import Ġbr . com . hack smiles . ui . Data Binding Adapter Ċ import Ġbr . com . hack smiles . ui . MainActivity Ċ Ċ class ĠThird From Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠFragment Third Form Binding ĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠThird From ViewModel ĊĠĠĠ Ġprivate Ġval Ġargs Ġby Ġnav Args < Third From Fragment Args >() ĊĠĠĠ Ġprivate Ġval Ġadapter Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġobject Ġ: ĠData Binding Adapter () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠonClick : Ġ(( position : ĠInt ) Ġ-> ĠUnit )? Ġ= Ġ:: navigate To Four th Screen ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ= ĠR . layout . layout _ dest iny _ item ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠThird From ViewModel (( activity Ġas ĠMainActivity ). repository ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠFragment Third Form Binding . inflate ( in flater ) ĊĠĠĠĠĠĠĠ Ġbinding . setup View () ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠFragment Third Form Binding . setup View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsetup RecyclerView () ĊĠĠĠĠĠĠĠ Ġsetup Adapter () ĊĠĠĠĠĠĠĠ Ġthis . view State Ġ= ĠviewModel . view State ĊĊĠĠĠĠĠĠĠ ĠviewModel . view State . dest in ies . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . setData ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠFragment Third Form Binding . setup RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġrv Dest in ies . layout Manager Ġ= ĠLinearLayoutManager ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager . VERTICAL , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠFragment Third Form Binding . setup Adapter () Ġ{ ĊĠĠĠĠĠĠĠ Ġrv Dest in ies . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġnavigate To Four th Screen ( position : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠviewModel . view State . dest in ies . value ?. get ( position ) ĊĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠThird From Fragment Directions . action Third From Fragment To Four th Fragment ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġargs . userData ĊĠĠĠĠĠĠĠ ĠviewModel . fetch Data ( args . userData . preferences ) ĊĠĠĠ Ġ} Ċ }