package Ġcom . o jh dt app . action . ui . welcome Ċ Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġandroidx . core . graphics . drawable . Drawable Compat . clear Color Filter Ċ import Ġandroidx . recyclerview . widget . Diff Util Ċ import Ġandroidx . recyclerview . widget . ListAdapter Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . o jh dt app . action . Base Application . Companion . context Ċ import Ġcom . o jh dt app . action . R Ċ import Ġcom . o jh dt app . action . databinding . Welcome Set Permission Cell Binding Ċ Ċ class ĠPermission Adapter Ġ: ĊĠĠĠ ĠList Adapter < Permission Message , ĠPermission Adapter . Permission ViewHolder >( object Ġ: ĊĠĠĠĠĠĠĠ ĠDiff Util . Item Callback < Permission Message >() Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Items The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠPermission Message , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠPermission Message ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġfalse ĊĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġare Contents The Same ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Item : ĠPermission Message , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnew Item : ĠPermission Message ĊĠĠĠĠĠĠĠ Ġ): ĠBoolean Ġ= Ġfalse ĊĊĠĠĠ Ġ}) Ġ{ ĊĠĠĠ Ġinner Ġclass ĠPermission ViewHolder ( val Ġbinding : ĠWelcome Set Permission Cell Binding ) Ġ: ĊĠĠĠĠĠĠĠ ĠRecyclerView . ViewHolder ( binding . root ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġbind ( data : ĠPermission Message ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . permission Title . text Ġ= Ġdata . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . permission Usage . text Ġ= Ġdata . usage ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( binding . root ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( data . icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( binding . permission Icon ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠG lide . with ( binding . root ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . is Granted ) ĠContext Compat . get Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ outline _ done _ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĠContext Compat . get Drawable ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . root . context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . drawable . ic _ outline _ error _ outline _ 2 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( binding . permission State ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . permission State . run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data . is Granted ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTyped Value (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . theme . resolve Attribute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . R . attr . color Primary , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. data . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Color Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġandroid . graphics . Port er D uff . Mode . SRC _ IN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Color Filter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠPermission ViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbinding Ġ= ĠWelcome Set Permission Cell Binding . inflate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( parent . context ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent , Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠPermission ViewHolder ( binding ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠPermission ViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . bind ( getItem ( position )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠPermission Message ( ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġusage : ĠString , ĊĠĠĠ Ġval Ġicon : ĠInt , ĊĠĠĠ Ġvar Ġis Granted : ĠBoolean Ċ )