package Ġcom . envelope . pick y app . ui . choose interest s Ċ Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . envelope . pick y app . R Ċ import Ġcom . envelope . pick y app . data . dto . Interest Ċ import Ġkotlinx . android . synt hetic . main . content _ interest _ list . view .* Ċ import Ġjava . lang . Exception Ċ Ċ class ĠChoose Inter ests Adapter ( ĊĠĠĠ Ġvar Ġinterest s : ĠMutable List < Interest >, ĊĠĠĠ Ġvar Ġchosen Interest : ĠMutable LiveData < Mutable List < String >> Ċ ): ĠRecyclerView . Adapter < Choose Inter ests Adapter . ViewHolder >() Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠonCreate ViewHolder ( parent : ĠViewGroup , Ġview Type : ĠInt ): ĠViewHolder Ġ{ ĊĊĠĠĠĠĠĠĠ Ġreturn ĠViewHolder ( LayoutInflater . from ( parent . context ). inflate ( R . layout . content _ interest _ list , parent , false )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem Count () Ġ= Ġinterest s . size ĊĊĠĠĠ Ġoverride Ġfun Ġon Bind ViewHolder ( holder : ĠViewHolder , Ġposition : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinterest Ġ= Ġinterest s [ position ] ĊĠĠĠĠĠĠĠ Ġval Ġcontext Ġ= Ġholder . item View . context ĊĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . text Ġ= Ġinterest . name ĊĊĠĠĠĠĠĠĠ Ġif (! interest . selected ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . background Ġ= Ġcontext . resources . get Drawable ( R . drawable . drawable _ orange _ box ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . setTextColor ( context . resources . getColor ( R . color . grey _ 4 0 )) ĊĊĊĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . set BackgroundColor ( context . resources . getColor ( R . color . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . setTextColor ( context . resources . getColor ( R . color . color White )) ĊĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( interest . selected ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterest . selected Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . background Ġ= Ġcontext . resources . get Drawable ( R . drawable . drawable _ orange _ box ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . setTextColor ( context . resources . getColor ( R . color . grey _ 4 0 )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Interest . value !!. remove ( interest . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Interest . post Value ( chosen Interest . value ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcatch Ġ( e : Exception ){ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} else { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinterest . selected Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . set BackgroundColor ( context . resources . getColor ( R . color . color Primary )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġholder . item View . interest _ name . setTextColor ( context . resources . getColor ( R . color . color White )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Interest . value !!. add ( interest . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchosen Interest . post Value ( chosen Interest . value ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinner Ġclass ĠViewHolder ( ĠitemView : ĠView ): RecyclerView . ViewHolder ( item View ) Ċ }