package Ġcom . github . o jh 1 0 2 . tim ary . ui . main . home Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . animation . Alpha Animation Ċ import Ġandroid . view . animation . Animation Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . lifecycle . observe Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . github . o jh 1 0 2 . tim ary . Event Observer Ċ import Ġcom . github . o jh 1 0 2 . tim ary . R Ċ import Ġcom . github . o jh 1 0 2 . tim ary . base . Base Fragment Ċ import Ġcom . github . o jh 1 0 2 . tim ary . databinding . Fragment Home Binding Ċ import Ġcom . github . o jh 1 0 2 . tim ary . util . extension . toast Ċ import Ġcom . google . android . material . app bar . AppBar Layout Ċ import Ġkotlinx . android . synt hetic . main . fragment _ home . cursor Ċ Ċ internal Ġclass ĠHome Fragment Ġ: ĠBase Fragment < Fragment Home Binding >() Ġ{ ĊĠĠĠ Ġoverride Ġval Ġlayout Res Ġ= ĠR . layout . fragment _ home ĊĊĠĠĠ Ġprivate Ġval ĠviewModel Ġby Ġview Models < Home ViewModel > Ġ{ ĠviewModel Factory Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġhome Adapter Ġby Ġlazy Ġ{ ĠHome Adapter ( viewModel ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġbinding . viewModel Ġ= ĠviewModel ĊĊĠĠĠĠĠĠĠ Ġinit Toolbar () ĊĠĠĠĠĠĠĠ Ġinit RecyclerView () ĊĠĠĠĠĠĠĠ Ġinit Navigation () ĊĠĠĠĠĠĠĠ Ġinit Toast () ĊĊĠĠĠĠĠĠĠ ĠviewModel . load Caps ules () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . app bar . add On Offset Changed Listener ( AppBar Layout . On Offset Changed Listener Ġ{ Ġapp Bar Layout , Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . tv Date . alpha Ġ= Ġ( 1 Ġ- Ġ( app Bar Layout . y Ġ/ Ġapp Bar Layout . total Scroll Range ) Ġ* Ġ- 1 ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġcursor . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimation Ġ= ĠAlpha Animation ( 0 f , Ġ 1 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat Count Ġ= ĠAnimation . INF IN ITE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepeat Mode Ġ= ĠAnimation . RE VERSE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Offset Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 3 0 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanimation . start () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit RecyclerView () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . rv Caps ule . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Manager Ġ= ĠLinearLayoutManager ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter Ġ= Ġhome Adapter ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . home Items . observe ( this ) Ġ{ Ġhome Adapter . submit List ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Navigation () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . nav Directions . observe ( this , ĠEvent Observer Ġ{ Ġnav Controller . navigate ( it ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Toast () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . toast . observe ( this , ĠEvent Observer Ġ{ Ġcontext . toast ( it ) Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ