package Ġio . synt aks . kotlin expand abler ec y cl er view . ui . contacts Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . View Ċ import Ġio . synt aks . kotlin expand abler ec y cl er view . R Ċ import Ġio . synt aks . kotlin expand abler ec y cl er view . data . Contact Ċ import Ġio . synt aks . kotlin expand abler ec y cl er view . ui . shared . Base ViewHolder Ċ import Ġio . synt aks . kotlin expand abler ec y cl er view . ui . shared . Color Helper Ċ import Ġkotlinx . android . synt hetic . main . list _ item _ contact . view .* Ċ Ċ private Ġconst Ġval ĠTAG Ġ= Ġ" Contact ViewHolder " Ċ Ċ class ĠContact ViewHolder ( ĊĠĠĠ Ġprivate Ġval Ġcontact View : ĠView , ĊĠĠĠ Ġprivate Ġval Ġlist Item Listener : ĠContact ListItem Listener Ċ ) Ġ: ĠBase ViewHolder < Contact >( contact View ), ĠView . OnClickListener Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcard View Ġ= Ġcontact View . card View ĊĠĠĠ Ġprivate Ġval Ġcircle Label Ġ= Ġcontact View . contact Label ĊĊĠĠĠ Ġoverride Ġfun Ġbind ( item : ĠContact ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcard View . setOnClickListener ( this ) ĊĠĠĠĠĠĠĠ Ġcircle Label . text Ġ= Ġitem . name ĊĠĠĠĠĠĠĠ Ġif Ġ( item . selected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View . set Card BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Helper . state List For Color Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontact View . context . resources . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . secondary Light Color , Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard View . set Card BackgroundColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor Helper . state List For Color Resource ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontact View . context . resources . getColor ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . color . white , Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick ( v : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( TAG , Ġ" onClick : Ġ") ĊĠĠĠĠĠĠĠ Ġlist Item Listener . toggle Contact Selected ( adapter Position ) ĊĠĠĠ Ġ} Ċ }