package Ġcom . k ier on qu inn . app . t apt ap . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġkotlinx . android . synt hetic . main . item _ app . view .* Ċ import Ġandroid . net . Uri Ċ import Ġandroid . widget . CheckBox Ċ import Ġcom . k ier on qu inn . app . t apt ap . R Ċ import Ġcom . k ier on qu inn . app . t apt ap . models . App Ċ import Ġcom . k ier on qu inn . app . t apt ap . utils . App Icon RequestHandler Ċ import Ġcom . squareup . pic asso . Pic asso ĊĊ Ċ class ĠApps Adapter ( context : ĠContext , Ġvar Ġapps Ġ: ĠList < App >, Ġprivate Ġval Ġenabled Apps : ĠList < String >, Ġprivate Ġval Ġon App Selected Ġ: Ġ( packageName : ĠString ) Ġ-> ĠUnit ) Ġ: ĠRecyclerView . Adapter < Apps Adapter . ViewHolder >() Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlayout Inflater Ġ= Ġcontext . getSystem Service ( Context . LAYOUT _ IN FL ATER _ SERVICE ) Ġas ĠLayoutInflater ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlayout Inflater . inflate ( R . layout . item _ app , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapps . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġapp Ġ= Ġapps [ position ] ĊĠĠĠĠĠĠĠ Ġholder . item View . title . text Ġ= Ġapp . appName ĊĠĠĠĠĠĠĠ Ġval Ġuri Ġ= ĠUri . parse ("${ App Icon RequestHandler . SCHEME _ P NAME }:${ app . packageName }") ĊĠĠĠĠĠĠĠ ĠPic asso . get (). load ( uri ). into ( holder . item View . icon ) ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon App Selected . invoke ( app . packageName ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠViewHolder ( item View : ĠView ) Ġ: ĠRecyclerView . ViewHolder ( item View ) Ċ }