// package Ġcom . town wang . y ao hu o . ui . fragment . test Ċ // Ċ // import Ġandroid . os . Bundle Ċ // import Ġandroid . view . LayoutInflater Ċ // import Ġandroid . view . MenuItem Ċ // import Ġandroid . view . View Ċ // import Ġandroid . view . ViewGroup Ċ // import Ġandroidx . appcompat . app . AppCompatActivity Ċ // import Ġandroidx . fragment . app . Fragment Ċ // import Ġcom . town wang . y ao hu o . R Ċ // import Ġcom . town wang . y ao hu o . common .* Ċ // import Ġkotlinx . android . synt hetic . main . fragment _ list _ pub .* Ċ // import Ġorg . k oin . android x . view model . ext . android . viewModel Ċ // Ċ // Ċ // class Ġnew Pub List Fragment Ġ: ĠFragment () Ġ{ Ċ // ĠĠĠ Ġprivate Ġval Ġadapter Ġ= ĠV TH istory ListAdapter () Ċ // ĠĠĠ Ġprivate Ġval ĠviewModel : Ġnew ListModel Ġby ĠviewModel () Ċ // Ċ // ĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) Ċ // ĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun ĠonCreate View ( Ċ // ĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ċ // ĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, Ċ // ĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? Ċ // ĠĠĠ Ġ): ĠView ? Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ list _ pub , Ġcontainer , Ġfalse ) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) Ċ // ĠĠĠĠĠĠĠ Ġ( activity Ġas ĠAppCompatActivity ). work Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar . work Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġrequire Arguments (). getString ( LIST _ BB S _ NAME _ KEY , Ġ"") Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Display Home As Up Enabled ( require Arguments (). getInt ( LIST _ CLASS _ ID _ KEY , Ġ 0 ) Ġ!= Ġ 0 ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġhome List . adapter Ġ Ġ= Ġadapter Ċ //// ĠĠĠĠĠĠĠ Ġhome List . layout Manager Ġ= Ġandroidx . recyclerview . widget . Linear LayoutManager ( context ) Ċ // ĠĠĠĠĠĠĠ Ġrefresh Layout . setOn Refresh Listener Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Layout ?. auto Refresh () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ //// ĠĠĠĠĠĠĠ ĠviewModel . load List ( Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Arguments (). getInt ( LIST _ CLASS _ ID _ KEY ), Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Arguments (). getString ( LIST _ ACTION _ KEY , Ġ" new ") Ċ //// ĠĠĠĠĠĠĠ Ġ) Ċ //// ĠĠĠĠĠĠĠ Ġadapter . on ItemClickListener Ġ= Ġ{ Ġv , Ġdata Ġ-> Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġis ĠHome Data ) Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbundle Ġ= ĠActivity Options Compat . make Scene Transition Animation ( Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (), Ġv . title , Ġ" share Ġname " Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Bundle () Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Be ar Ġ= Ġtrue Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata . sm ail Ing . forEach Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it Ġ== ĠBuild Config . Y H _ MATCH _ LIST _ BE AR ){ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Be ar Ġ= Ġfalse Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ forEach Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity Compat . startActivity ( Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĠIntent ( Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (), ĠActivity Details :: class . java Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). apply Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġflags Ġ= ĠIntent . FLAG _ ACTIVITY _ RE ORDER _ TO _ FRONT Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( HOME _ DETAILS _ URL _ KEY , Ġdata . a ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( HOME _ DETAILS _ READ _ KEY , Ġdata . read ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( HOME _ DETAILS _ BE AR _ KEY , Ġis Be ar ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra ( HOME _ DETAILS _ TITLE _ KEY , Ġdata . title ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, Ġbundle Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ //// ĠĠĠĠĠĠĠ Ġ} Ċ // Ċ // Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon ViewState Restore d ( savedInstanceState : ĠBundle ?) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġsuper . on ViewState Restore d ( savedInstanceState ) Ċ // ĠĠĠĠĠĠĠ ĠviewModel . history . observe ( view Lifecycle Owner , Ġsafe Observer Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġit Ġ?: Ġreturn @ safe Observer Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isEmpty ()) Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Empty () Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Content () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Layout ?. finish Refresh () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . submit List ( it ) Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ}) Ċ // Ċ // ĠĠĠĠĠĠĠ ĠviewModel . loading . observe ( view Lifecycle Owner , Ġsafe Observer Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! it ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Done ( true ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġ}) Ċ // ĠĠĠĠĠĠĠ ĠviewModel . error . observe ( view Lifecycle Owner , Ġsafe Observer Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġrefresh Done ( false ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Context (). handle Exception ( it ) Ċ // ĠĠĠĠĠĠĠ Ġ}) Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( item . itemId ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . id . home Ġ-> Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed () Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġsuper . on Options ItemSelected ( item ) Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ // Ċ // ĠĠĠ Ġprivate Ġfun Ġrefresh Done ( success : ĠBoolean ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġrefresh Layout Ġ?: Ġreturn Ċ // ĠĠĠĠĠĠĠ Ġrefresh Layout . finish Load More ( success ) Ċ // ĠĠĠ Ġ} Ċ //}