package Ġcom . zh ao . wan android . ui . main . fragment . open _ number Ċ Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġcom . google . android . material . tabs . Tab Layout Mediator Ċ import Ġcom . zh ao . wan android . R Ċ import Ġcom . zh ao . wan android . base . Base Vm Fragment Ċ import Ġcom . zh ao . wan android . base . adapter . business . Recycler Move Interface Ċ import Ġcom . zh ao . wan android . base . fragment . Load More Interface Ċ import Ġcom . zh ao . wan android . base . view _ page . Base View Page Adapter Ċ import Ġcom . zh ao . wan android . bean . Article Item Bean Ċ import Ġcom . zh ao . wan android . databinding . Fragment Open Number Binding Ċ import Ġcom . zh ao . wan android . utils . Theme Color Util Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ @ Android EntryPoint Ċ class ĠOpen Number Fragment Ġ: ĠBase Vm Fragment < Open Number ViewModel , ĠFragment Open Number Binding >(), ĠRe cycler Move Interface Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠOpen Number Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġview Page Adapter : ĠBase View Page Adapter Ġby Ġlazy Ġ{ ĠBase View Page Adapter ( lifecycle , Ġrequire Activity (). support FragmentManager ) Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit Data () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġlazy Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . lazy Data () ĊĠĠĠĠĠĠĠ ĠviewModel . get Wx Parent Article () ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġinit View () Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . view Page . adapter Ġ= Ġview Page Adapter ĊĠĠĠĠĠĠĠ Ġbinding . tab Layout . set BackgroundColor ( Theme Color Util . get Theme Color ( require Context (), ĠR . attr . backgroundColor )) ĊĠĠĠĠĠĠĠ Ġbinding . tab Layout . set Tab Text Colors ( Theme Color Util . get Theme Color ( require Context (), ĠR . attr . color On Primary ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTheme Color Util . get Theme Color ( require Context (), ĠR . attr . color Primary )) ĊĠĠĠĠĠĠĠ ĠTab Layout Mediator ( binding . tab Layout , Ġbinding . view Page ) Ġ{ Ġtab , Ġposition Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtab . text Ġ= Ġview Page Adapter . get Fragment Title ( position ) ĊĠĠĠĠĠĠĠ Ġ}. attach () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . fragment _ open _ number ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetModel Class (): ĠClass < Open Number ViewModel > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠOpen Number ViewModel :: class . java ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobserver () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . observer () ĊĠĠĠĠĠĠĠ Ġbinding . data Ġ= ĠviewModel ĊĠĠĠĠĠĠĠ ĠviewModel . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwx Box Article . observe ({ Ġlifecycle Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment List : ĠMutable List < Pair < String , ĠFragment >> Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . forEach Indexed Ġ{ Ġindex , Ġopen Number Box Bean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment List . add ( Pair ( open Number Box Bean . name , ĠOpen Number Item Fragment . newInstance ( open Number Box Bean . id , Ġindex ))) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview Page Adapter . refresh Fragments ( fragment List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwx Article . observe ({ Ġlifecycle Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment : ĠLoad More Interface < Article Item Bean > Ġ= Ġview Page Adapter . get Fragment ( binding . view Page . currentItem ) Ġas ĠOpen Number Item Fragment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . addData ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview S ate . observe ({ lifecycle } ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment : ĠLoad More Interface < Article Item Bean > Ġ= Ġview Page Adapter . get Fragment ( binding . view Page . currentItem ) Ġas ĠOpen Number Item Fragment ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . view State ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmove Header () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfragment : ĠRe cycler Move Interface Ġ= Ġview Page Adapter . get Fragment ( binding . view Page . currentItem ) Ġas ĠRe cycler Move Interface ĊĠĠĠĠĠĠĠ Ġfragment . move Header () ĊĠĠĠ Ġ} Ċ Ċ }