package Ġim . king way . jin . k lick Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Base Adapter Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . TextView Ċ Ċ class ĠApp ListAdapter Ġ: ĠBase Adapter Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġm LayoutInflater : ĠLayoutInflater ĊĠĠĠ Ġprivate Ġvar Ġm App : ĠK lick Application ĊĠĠĠ Ġvar Ġapp List : ĠMutable List < App Item > ĊĊĠĠĠ Ġconstructor ( activity : ĠActivity , Ġapp List : ĠMutable List < App Item >) Ġ: Ġsuper () Ġ{ ĊĠĠĠĠĠĠĠ Ġm LayoutInflater Ġ= Ġactivity . layout Inflater ĊĠĠĠĠĠĠĠ Ġm App Ġ= Ġactivity . application Ġas ĠK lick Application ĊĠĠĠĠĠĠĠ Ġthis . app List Ġ= Ġapp List ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp List . size ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ( position : ĠInt ): ĠApp Item Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġapp List [ position ] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Id ( position : ĠInt ): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġposition . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( position : ĠInt , Ġview : ĠView ?, Ġparent : ĠViewGroup ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġv Ġ= Ġview ĊĠĠĠĠĠĠĠ Ġval Ġv h : ĠViewHolder ĊĠĠĠĠĠĠĠ Ġif Ġ( v Ġ== Ġnull Ġ|| Ġv . id Ġ!= ĠR . id . app _ item ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv Ġ= Ġm LayoutInflater . inflate ( R . layout . app _ list _ item , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h Ġ= ĠViewHolder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . app Icon Ġ= Ġv . findViewById ( R . id . app _ icon ) Ġas ĠImageView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . appName Ġ= Ġv . findViewById ( R . id . app _ name ) Ġas ĠTextView ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv . tag Ġ= Ġv h ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h Ġ= Ġv . tag Ġas ĠViewHolder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġai Ġ= ĠgetItem ( position ) ĊĠĠĠĠĠĠĠ Ġv h . app Icon !!. setImage Drawable ( m App . getApp Icon ( ai )) ĊĠĠĠĠĠĠĠ Ġv h . appName !!. text Ġ= Ġai . name ĊĠĠĠĠĠĠĠ Ġif Ġ( ai . isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . appName !!. setTextColor ( Color . RED ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( ai . is Excluded ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . appName !!. setTextColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġv h . appName !!. setTextColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġv !! ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinner Ġclass ĠViewHolder Ġ{ ĊĠĠĠĠĠĠĠ Ġinternal Ġvar ĠappName : ĠTextView ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġinternal Ġvar Ġapp Icon : ĠImageView ? Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġapp List . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠTAG Ġ= Ġ" App ListAdapter " ĊĠĠĠ Ġ} Ċ } Ċ