package Ġcom . cd mp . rick mort y . presentation . locations Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . cd mp . rick mort y . R Ċ import Ġcom . cd mp . rick mort y . databinding . Locations Fragment Binding Ċ import Ġcom . cd mp . rick mort y . presentation . home . Home Fragment Ċ import Ġcom . cd mp . rick mort y . presentation . home . Home ViewModel Ċ import Ġcom . cd mp . rick mort y . presentation . home . MainActivity Ċ import Ġcom . cd mp . rick mort y . presentation . home . adapter . Characters Adapter Ċ import Ġcom . cd mp . rick mort y . presentation . locations . adapter . Locations Adapter Ċ import Ġkotlinx . android . synt hetic . main . home _ fragment .* Ċ import Ġkotlinx . android . synt hetic . main . locations _ fragment .* Ċ import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ Ċ class ĠLoc ations Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠLoc ations Fragment Binding ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠHome ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠLoc ations Adapter ( ĊĠĠĠĠĠĠĠ Ġclick Callback Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . character Clicked ( it ) ĊĠĠĠĠĠĠĠ Ġ}, Ġloading Reached Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . load Next () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠLoc ations Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĠR . layout . locations _ fragment , Ġcontainer , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ( binding . root ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġlocations _ recycler . layout Manager Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayoutManager ( context , ĠRecyclerView . VERTICAL , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġlocations _ recycler . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠ Ġ// ĠĠ ĠviewModel . character List . observe ( this , ĠObserver Ġ{ Ġcharacters Ġ-> ĊĠĠĠĠĠĠĠ Ġ// ĠĠ Ġcharacters ?. let Ġ{ Ġadapter . update List Items ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ// ĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ// Ġ ĠviewModel . start () ĊĠĠĠ Ġ} Ċ }