package Ġcom . kn ight . kotlin . module _ project . fragment Ċ Ċ import Ġandroidx . fragment . app . view Models Ċ import Ġcom . alibaba . android . ar outer . facade . annotation . Route Ċ import Ġcom . kn ight . kotlin . library _ base . fragment . Base Fragment Ċ import Ġcom . kn ight . kotlin . library _ base . k tx . observe LiveData Ċ import Ġcom . kn ight . kotlin . library _ base . k tx . to Html Ċ import Ġcom . kn ight . kotlin . library _ base . route . Route Fragment Ċ import Ġcom . kn ight . kotlin . library _ util . View Init Utils Ċ import Ġcom . kn ight . kotlin . library _ util . bind We chat ViewPager 2 Ċ import Ġcom . kn ight . kotlin . module _ project . databinding . Project Activity Binding Ċ import Ġcom . kn ight . kotlin . module _ project . entity . Project Type Bean Ċ import Ġcom . kn ight . kotlin . module _ project . vm . Project Vm Ċ import Ġdagger . h ilt . android . Android EntryPoint Ċ Ċ /** Ċ Ġ* ĠAuthor : K night Ċ Ġ* ĠTime : 2 0 2 1 / 1 2 / 2 3 Ġ 1 6 : 3 3 Ċ Ġ* ĠDescription : Project Fragment Ċ Ġ* Ċ Ġ*/ Ċ @ Android EntryPoint Ċ @ Route ( path Ġ= ĠRoute Fragment . Project . Project Fragment ) Ċ class ĠProject Fragment : Base Fragment < Project Activity Binding , ĠProject Vm >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Fragments Ġ= Ġmutable ListOf < Proj ec Article Fragment >() ĊĠĠĠ Ġprivate Ġval Ġm T it ile Datas Ġ= Ġmutable ListOf < String >() ĊĠĠĠ Ġoverride Ġval Ġm ViewModel : ĠProject Vm Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠProject Activity Binding . init View () Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Loading ( project ViewPager ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġobserve LiveData ( m ViewModel . project Titles , :: set Project Types ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit Request Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . getProject Title () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Theme Color ( is Dark Mode : ĠBoolean ) Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġre Load Data () Ġ{ ĊĠĠĠĠĠĠĠ Ġm ViewModel . getProject Title () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Project Types ( project Types : Mutable List < Project Type Bean >) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequest Success () ĊĠĠĠĠĠĠĠ Ġm Fragments . clear () ĊĠĠĠĠĠĠĠ Ġm T it ile Datas . clear () ĊĠĠĠĠĠĠĠ Ġval Ġproject Type Bean Ġ= ĠProject Type Bean () ĊĠĠĠĠĠĠĠ Ġproject Type Bean . name Ġ= Ġ" æľĢæĸ° é¡¹çĽ® " ĊĠĠĠĠĠĠĠ Ġproject Types . add ( project Type Bean ) ĊĠĠĠĠĠĠĠ Ġm T it ile Datas . add ( project Type Bean . name ) ĊĠĠĠĠĠĠĠ Ġm Fragments . add ( Proj ec Article Fragment . newInstance ( 0 , true )) ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġproject Types . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm T it ile Datas . add ( project Types [ i ]. name . to Html (). toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragments . add ( Proj ec Article Fragment . newInstance ( project Types [ i ]. id , Ġfalse )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠView Init Utils . set ViewPager 2 Init ( require Activity (), m Binding . project ViewPager , mF rag ments , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Off screen Page Limit Ġ= Ġtrue , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis User Input Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġm Binding . project Indicator . bind We chat ViewPager 2 ( m Binding . project ViewPager , m T it ile Datas ) ĊĊĊĠĠĠ Ġ} Ċ }