package Ġcom . must af ay ig it . ap si yon mov iel ist case . ui Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . adapter . Movie Adapter Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . databinding . Fragment Home Binding Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . ui . base . Base Fragment Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . util . Response Wrapper Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . util . don On Sc rolled ToEnd Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . util . print Toast Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . util . safe Log Ċ import Ġcom . must af ay ig it . ap si yon mov iel ist case . view model . Home ViewModel Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ @ Android EntryPoint Ċ class ĠHome Fragment Ġ: ĠBase Fragment < Fragment Home Binding >( Fragment Home Binding :: inflate ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġhome ViewModel : ĠHome ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġinit Movie Recycler () ĊĠĠĠĠĠĠĠ Ġinit Observer () ĊĠĠĠĠĠĠĠ Ġinit Listener () ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( m Binding ){ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Home D ashed Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Custom ĠButton ĠClick ĠEvent Ġtriggered " Ġprint Toast Ġrequire Context () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġhome ViewModel . movies . observe ( view Lifecycle Owner ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse Wrapper . Loading Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Loading ". safe Log () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse Wrapper . Error Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Error : Ġ${ it . error Type }". safe Log () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResponse Wrapper . Success Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Success : Ġ${ it . data }". safe Log () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( m Binding . recycler Movies . adapter Ġas ĠMovie Adapter ). submit List ( it . data ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Movie Recycler () Ġ{ ĊĠĠĠĠĠĠĠ Ġwith ( m Binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler Movies . adapter Ġ= ĠMovie Adapter Ġ{ Ġmovie Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠHome Fragment Directions . action Home Fragment To Movie Detail Fragment ( movie ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cycler Movies . don On Sc rolled ToEnd ( home ViewModel . movies ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . increment Current Page () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhome ViewModel . get Movies () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }