package Ġde . d hel le berg . spotify kid sp layer . ui . album Ċ Ċ 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 . lifecycle . Observer Ċ import Ġandroidx . navigation . fragment . Nav Host Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . adam rat z man . spotify . models . Paging Object Ċ import Ġcom . adam rat z man . spotify . models . Simple Album Ċ import Ġde . d hel le berg . spotify kid sp layer . R Ċ import Ġkotlinx . android . synt hetic . main . album _ fragment .* Ċ import Ġorg . k oin . android . view model . ext . android . viewModel Ċ Ċ class ĠAlbum Fragment Ġ: ĠFragment () Ġ{ ĊĠĠĠ Ġprivate Ġval ĠTAG Ġby Ġlazy Ġ{ ĠAlbum Fragment :: class . java . simple Name Ġ} ĊĊĠĠĠ Ġval ĠviewModel : ĠAlbum ViewModel Ġby ĠviewModel () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġview Adapter : ĠRecyclerView . Adapter < *> ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . album _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġalbum s _ rcv . layout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġval Ġartist ID Ġ= Ġarguments ?. let Ġ{ ĠAlbum Fragment Args . from Bundle ( it ). artist ID Ġ} ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" should Ġget ĠID : Ġ"+ artist ID ) ĊĠĠĠĠĠĠĠ Ġif ( artist ID Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . get Album s ( artist ID ). observe ( this , ĠObserver Ġ{ Ġ Ġshow Album s ( it ) Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Album s ( album List : ĠP aging Object < Simple Album > ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( album List Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġalbum List . items . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" album : Ġ${ it . name }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Adapter Ġ= ĠAlbum Adapter ( album List , Ġthis ) Ġ{ on ListItem Clicked ( it )} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum s _ rcv . adapter Ġ= Ġview Adapter ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon ListItem Clicked ( simple Album : ĠSimple Album ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" clicked Ġon Ġartist Ġ${ simple Album . uri . uri }") ĊĠĠĠĠĠĠĠ ĠNav Host Fragment . find Nav Controller ( this ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. navigate ( Album Fragment Directions . action Album Fragment To Play Fragment (). set Album ID ( simple Album . uri . uri )) ĊĠĠĠ Ġ} ĊĊ Ċ } Ċ