package Ġcom . sa ifer wp . last f mal bum s . ui . saved albums Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġandroidx . recyclerview . widget . Grid LayoutManager Ċ import Ġcom . sa ifer wp . last f mal bum s . R Ċ import Ġcom . sa ifer wp . last f mal bum s . util . Result Ċ import Ġcom . sa ifer wp . last f mal bum s . util . success Or Ċ import Ġcom . sa ifer wp . last f mal bum s . util . toast Ċ import Ġcom . sa ifer wp . last f mal bum s . util . viewModel Provider Ċ import Ġdagger . android . support . D agger Fragment Ċ import Ġkotlinx . android . synt hetic . main . saved _ albums _ fragment .* Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠSaved Album s Fragment Ġ: ĠD agger Fragment () Ġ{ ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar ĠviewModel Factory : ĠViewModel Provider . Factory ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠSaved Album s ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠviewModel Provider ( viewModel Factory ) ĊĠĠĠĠĠĠĠ ĠviewModel . open Album Details Action . observe ( this , ĠObserver Ġ{ Ġalbum Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( album Ġ== Ġnull ) Ġreturn @ Observer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSaved Album s Fragment Directions . to Album Info ( album . mb Id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . saved _ albums _ fragment , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġalbum s Recycler . layout Manager Ġ= ĠGrid LayoutManager ( context , Ġ 2 ) ĊĠĠĠĠĠĠĠ Ġalbum s Recycler . adapter Ġ= ĠSaved Album s Adapter ( viewModel ) ĊĠĠĠĠĠĠĠ Ġalbum s Recycler . item Animator Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ ĠviewModel . saved Album s . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġresult Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Ġis ĠResult . Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . exception . message ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoast ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ Observer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success Or ( emptyList ()). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( albums Recycler . adapter Ġas ĠSaved Album s Adapter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. submit List ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty Message . visibility Ġ= Ġif Ġ( it . isNotEmpty ()) ĠView . GONE Ġelse ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . load Saved Album s () ĊĠĠĠ Ġ} Ċ } Ċ