package Ġpt . ise l . vs dd ashboard application . activities . fragment . list Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . Navigation Ċ import Ġpt . ise l . vs dd ashboard application . R Ċ import Ġpt . ise l . vs dd ashboard application . activities . adapter . V sc Adapter Ċ import Ġpt . ise l . vs dd ashboard application . activities . fragment . base . Base Child List Fragment Ċ import Ġpt . ise l . vs dd ashboard application . activities . fragment . parent . V sp Parent Fragment Ċ import Ġpt . ise l . vs dd ashboard application . activities . fragment . parent . V sp Parent Fragment Directions Ċ import Ġpt . ise l . vs dd ashboard application . utils . Refresh State Ċ Ċ class ĠV sc List Fragment Ġ: ĠBase Child List Fragment () Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ Ġprivate Ġconst Ġval ĠTAG Ġ= Ġ" FRAG / V SC _ LIST " Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠV sc Adapter ĊĊĠĠĠ Ġoverride Ġfun Ġset Adapter () Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Setting Ġup Ġadapter ") ĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠV sc Adapter Ġ{ Ġv sc , Ġview Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" Go ing Ġto ĠV SC : Ġ${ v sc . i D }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdirections Ġ= ĠV sp Parent Fragment Directions . action V sp Parent Fragment To V sc Parent Fragment ( v sc . i D ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNavigation . find Nav Controller ( view ). navigate ( directions ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbinding . list . adapter Ġ= Ġadapter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrefresh () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= Ġ( this . parent Fragment Ġas ĠV sp Parent Fragment ). viewModel ĊĠĠĠĠĠĠĠ ĠviewModel . update V sc LiveData () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ= ĠR . layout . fragment _ list ĊĊĠĠĠ Ġoverride Ġfun Ġobserve ViewModel () Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewModel Ġ= Ġ( this . parent Fragment Ġas ĠV sp Parent Fragment ). viewModel ĊĠĠĠĠĠĠĠ ĠviewModel . refresh State LiveData . observe ( this , ĠObserver { rf Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . refresh Layout . is Refresh ing Ġ= Ġwhen ( rf ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠRefresh State . IN PROGRESS Ġ-> Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . v sc List LiveData . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . set List ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . execute Pending Bindings () ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ Ċ }