package Ġcom . k ier on qu inn . app . t apt ap . fragments . equipment čĊč Ċ 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 . k ier on qu inn . app . t apt ap . R č Ċ import Ġcom . k ier on qu inn . app . t apt ap . adapters . Equipment Adapter č Ċ import Ġcom . k ier on qu inn . app . t apt ap . models .* č Ċ import Ġcom . k ier on qu inn . app . t apt ap . utils . dip čĊč Ċ class ĠE quipment List Fragment Ġ: ĠFragment () Ġ{ čĊčĊĠĠĠ Ġprivate Ġvar Ġtoolbar Listener : Ġ(( Boolean ) Ġ-> ĠUnit )? Ġ= Ġnull čĊčĊĠĠĠ Ġprivate Ġvar Ġitem ClickListener : Ġ(( Equipment Internal ) Ġ-> ĠUnit )? Ġ= Ġnull čĊčĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ add _ action _ list , Ġcontainer , Ġfalse ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ čĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) čĊĠĠĠĠĠĠĠ Ġval Ġre cyclerView Ġ= Ġview Ġas ĠRecyclerView čĊĠĠĠĠĠĠĠ Ġre cyclerView . layout Manager Ġ= ĠLinearLayoutManager ( re cyclerView . context ) čĊĠĠĠĠĠĠĠ Ġval Ġequip ments Ġ= Ġget Equip ments For Category () čĊĠĠĠĠĠĠĠ Ġval Ġadapter Ġ= ĠE quipment Adapter ( re cyclerView . context , Ġequip ments , Ġtrue ){ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem ClickListener ?. invoke ( equip ments [ it . adapter Position ]) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter čĊĠĠĠĠĠĠĠ Ġre cyclerView . setOn Scroll ChangeListener Ġ{ Ġ_, Ġ_, Ġ_, Ġ_, Ġ_ Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoolbar Listener ?. invoke ( re cyclerView . compute Vertical Scroll Offset () Ġ> Ġ 0 ) čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠ Ġre cyclerView . setOn Apply Window Insets Listener Ġ{ Ġv , Ġin sets Ġ-> čĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . set Padding ( v . padding Left , Ġv . padding Top , Ġ 0 , Ġin sets . system Window Inset Bottom Ġ+ Ġv . context . dip ( 8 )) čĊĠĠĠĠĠĠĠĠĠĠĠ Ġin sets čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġprivate Ġfun Ġget Equip ments For Category (): ĠMutable List < Equipment Internal > Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠT ap Equipment . values (). filter Ġ{ Ġit . is Available Ġ}. map Ġ{ ĠE quipment Internal ( it , ĠArrayList ()) Ġ}. to Mutable List () čĊĠĠĠ Ġ} čĊĠĠĠ Ġfun Ġget Toolbar Title (): ĠString Ġ{ čĊĠĠĠĠĠĠĠ Ġreturn ĠgetString ( R . string . fab _ add _ equipment ) čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġset Toolbar Listener ( listener : Ġ( Boolean ) Ġ-> ĠUnit ){ čĊĠĠĠĠĠĠĠ Ġthis . toolbar Listener Ġ= Ġlistener čĊĠĠĠ Ġ} čĊčĊĠĠĠ Ġfun Ġset ItemClickListener ( listener : Ġ( Equipment Internal ) Ġ-> ĠUnit ){ čĊĠĠĠĠĠĠĠ Ġthis . item ClickListener Ġ= Ġlistener čĊĠĠĠ Ġ} čĊč Ċ }