package Ġcom . cn 2 9 . aac . ui . shopping Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġcom . cn 2 9 . aac . databinding . Fragment Album Binding Ċ import Ġcom . cn 2 9 . aac . di . scope . Android Data Binding Ċ import Ġcom . cn 2 9 . aac . di . scope . ViewModel Ċ import Ġcom . cn 2 9 . aac . repo . it unes . Album Ċ import Ġcom . cn 2 9 . aac . repo . util . Resource Ċ import Ġcom . cn 2 9 . aac . repo . util . Status Ċ import Ġcom . cn 2 9 . aac . ui . base . Base Fragment Ċ import Ġcom . cn 2 9 . aac . ui . common . Base RecyclerView Adapter Ċ import Ġcom . cn 2 9 . aac . ui . shopping . vm . Album Fragment ViewModel Ċ import Ġcom . cn 2 9 . aac . ui . shopping . vm . Shopping Activity ViewModel Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠAlbum Fragment Ġ: ĠBase Fragment () Ġ{ ĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġ@ ViewModel ĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠAlbum Fragment ViewModel ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġ@ ViewModel ĊĠĠĠ Ġlateinit Ġvar Ġshopping Activity ViewModel : ĠShop ping Activity ViewModel ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġ@ Android Data Binding ĊĠĠĠ Ġlateinit Ġvar Ġbinding : ĠFragment Album Binding ĊĠĠĠ Ġprivate Ġvar Ġadapter : ĠAlbum Adapter ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġalbum s : ĠList < Album >? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġvar Ġartist Id Ġ= Ġ 9 0 9 2 5 3 Ġ// default Ġvalue ĊĠĠĠĠĠĠĠ Ġvar Ġentity : ĠString ? Ġ= Ġ" album " Ġ// default Ġvalue ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments ?. containsKey (" artist Id ") Ġ== Ġtrue Ġ&& Ġarguments ?. containsKey ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" entity ") Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartist Id Ġ= Ġarguments !!. getInt (" artist Id ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentity Ġ= Ġarguments !!. getString (" entity ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠviewModel ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Album Result ( artist Id , Ġentity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠObserver Ġ{ Ġresponse : ĠResource < List < Album >> Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( response . status ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . CHECK ING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . SUCCESS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprogress Dialog Component !!. hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum s Ġ= Ġresponse . data ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= ĠAlbum Adapter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum s !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalbum On ItemClickListener ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . list . adapter Ġ= Ġadapter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . ERROR Ġ-> Ġprogress Dialog Component !!. hide Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . LOADING Ġ-> Ġprogress Dialog Component !!. show Loading () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// add Ġto Ġthe Ġk art ĊĠĠĠ Ġprivate Ġval Ġalbum On ItemClickListener : ĠBase RecyclerView Adapter . On ItemClickListener < Album > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġobject Ġ: ĠBase RecyclerView Adapter . On ItemClickListener < Album > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Item Click ( item : ĠAlbum ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// add Ġto Ġthe Ġk art ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Implement Ġyour Ġown ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . LENGTH _ SHORT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠInf late Ġthe Ġlayout Ġfor Ġthis Ġfragment ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} Ċ }