package Ġcom . r ak uten . tech . mobile . test app . ui . mini app list Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . databinding . Data Binding Util Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġcom . r ak uten . tech . mobile . mini app . Mini App Info Ċ import Ġcom . r ak uten . tech . mobile . mini app . test app . R Ċ import Ġcom . r ak uten . tech . mobile . mini app . test app . databinding . Mini App List Fragment Binding Ċ import Ġcom . r ak uten . tech . mobile . test app . adapter . Mini App List Ċ import Ġcom . r ak uten . tech . mobile . test app . adapter . Mini App ListAdapter Ċ import Ġcom . r ak uten . tech . mobile . test app . launch Activity Ċ import Ġcom . r ak uten . tech . mobile . test app . ui . base . Base Fragment Ċ import Ġcom . r ak uten . tech . mobile . test app . ui . display . Mini App Display Activity Ċ import Ġcom . r ak uten . tech . mobile . test app . ui . input . Mini App Input Activity Ċ import Ġkotlinx . android . synt hetic . main . mini _ app _ list _ fragment .* Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠMini App List Fragment Ġ: ĠBase Fragment (), ĠMini App List Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance () Ġ= ĠMini App List Fragment () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠMini App List ViewModel ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠMini App List Fragment Binding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġmini App ListAdapter : ĠMini App ListAdapter ĊĠĠĠ Ġprivate Ġvar Ġmini apps Ġ= ĠlistOf < Mini App Info >() ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠData Binding Util . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . layout . mini _ app _ list _ fragment , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontainer , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġbinding . fragment Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġbinding . rv Mini App List . layout Manager Ġ= ĠLinearLayoutManager ( this . context ) ĊĠĠĠĠĠĠĠ Ġmini App ListAdapter Ġ= ĠMini App ListAdapter ( mini apps , Ġthis ) ĊĠĠĠĠĠĠĠ Ġbinding . rv Mini App List . adapter Ġ= Ġmini App ListAdapter ĊĠĠĠĠĠĠĠ Ġreturn Ġbinding . root ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout . post Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout . is Refresh ing Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecute Loading List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Created ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider . New Instance Factory (). create ( Mini App List ViewModel :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmini App List Data . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmini App ListAdapter . mini apps Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmini App ListAdapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Data . observe ( view Lifecycle Owner , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġswipe Refresh Layout . is Refresh ing Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġit , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġswipe Refresh Layout . setOn Refresh Listener Ġ{ Ġexecute Loading List () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġexecute Loading List () Ġ{ ĊĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĠviewModel . get Mini App List () Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Mini App Item Click ( appId : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrace Executor . run Ġ{ ĠMini App Display Activity . start ( context !! , ĠappId ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġswitch To Input () Ġ{ ĊĠĠĠĠĠĠĠ Ġrace Executor . run Ġ{ Ġactivity ?. launch Activity < Mini App Input Activity >() Ġ} ĊĠĠĠ Ġ} Ċ } Ċ