package Ġcom . shake bugs . demo . ui . offline Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroidx . recyclerview . widget . Linear LayoutManager Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . shake bugs . demo . R Ċ import Ġcom . shake bugs . demo . databinding . Fragment Offline Binding Ċ import Ġcom . shake bugs . demo . ui . components . Main Adapter Ċ import Ġcom . shake bugs . demo . ui . components . Steps Ċ Ċ class ĠOff line Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnew RecyclerView : ĠRecyclerView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnew ArrayList : ĠArrayList < Steps > ĊĠĠĠ Ġprivate Ġvar Ġ_ binding : ĠFragment Offline Binding ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġicon Id : ĠArray < Int > ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdescription : ĠArray < Int > ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġget () Ġ= Ġ_ binding !! ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= ĠFragment Offline Binding . inflate ( in flater , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġval Ġroot : ĠView Ġ= Ġbinding . root ĊĠĠĠĠĠĠĠ Ġcontext ?. let Ġ{ Ġroot . set BackgroundColor ( it . getColor ( R . color . shake _ color _ primary )) Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġicon Id Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ one , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ two , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ three , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ four ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdescription Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . offline _ try _ it _ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . offline _ try _ it _ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . offline _ try _ it _ 3 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . offline _ try _ it _ 4 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġnew RecyclerView Ġ= Ġbinding . offline RecyclerView ĊĠĠĠĠĠĠĠ Ġnew RecyclerView . layout Manager Ġ= ĠLinearLayoutManager ( this . activity ) ĊĠĠĠĠĠĠĠ Ġnew RecyclerView . set Has Fixed Size ( true ) ĊĠĠĠĠĠĠĠ Ġnew RecyclerView . is Nested Scrolling Enabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠ Ġnew ArrayList Ġ= Ġarray ListOf () ĊĠĠĠĠĠĠĠ Ġget Steps () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġroot ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy View () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy View () ĊĠĠĠĠĠĠĠ Ġ_ binding Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Steps () Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġicon Id . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstep Ġ= ĠSteps ( icon Id [ i ], Ġdescription [ i ], ĠColor . parse Color ("# eb 5 7 5 7 ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew ArrayList . add ( step ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġnew RecyclerView . adapter Ġ= ĠMain Adapter ( newArrayList ) ĊĠĠĠ Ġ} Ċ Ċ }