package Ġcom . corn ell app dev . coffee _ ch ats _ android . adapters Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Port er D uff Ċ import Ġandroid . graphics . Port er D uff Color Filter Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget .* Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . corn ell app dev . coffee _ ch ats _ android . R Ċ import Ġcom . corn ell app dev . coffee _ ch ats _ android . models . User Field Ċ Ċ class ĠUser Field Adapter ( ĊĠĠĠ Ġprivate Ġval ĠmContext : ĠContext , ĊĠĠĠ Ġprivate Ġval Ġfield List : ĠList < User Field >, ĊĠĠĠ Ġprivate Ġval Ġitem Color : ĠItem Color , ĊĠĠĠ Ġprivate Ġval Ġhide Icon : ĠBoolean Ġ= Ġtrue , ĊĠĠĠ Ġprivate Ġval Ġresize Cell : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĊĠĠĠ ĠArray Adapter < User Field ? >( mContext , Ġ 0 , Ġfield List ), ĠFilter able Ġ{ ĊĊĠĠĠ Ġenum Ġclass ĠItem Color Ġ{ ĊĠĠĠĠĠĠĠ ĠWH ITE , ĊĠĠĠĠĠĠĠ ĠGREEN , ĊĠĠĠĠĠĠĠ ĠTO GGLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget View ( ĊĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠ ĠconvertView : ĠView ?, ĊĠĠĠĠĠĠĠ Ġparent : ĠViewGroup ĊĠĠĠ Ġ): ĠView Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠviewHolder : ĠViewHolder ĊĠĠĠĠĠĠĠ Ġval Ġlist Item : ĠView ĊĠĠĠĠĠĠĠ Ġif Ġ( convert View Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLayoutInflater . from ( mContext ). inflate ( R . layout . interest _ view , Ġparent , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Ġ= ĠViewHolder ( list Item ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . tag Ġ= ĠviewHolder ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item Ġ= ĠconvertView ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder Ġ= Ġlist Item . tag Ġas ĠViewHolder ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġchanges Ġcell Ġheight Ġto Ġwrap Ġcontent Ġwith Ġsome Ġpadding Ġ- Ġcurrently Ġonly Ġused Ġfor Ġpromp ts ĊĠĠĠĠĠĠĠ Ġif Ġ( resize Cell ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . layout Params Ġ= ĠLinearLayout . LayoutParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLinearLayout . LayoutParams . MATCH _ PARENT , ĠLinearLayout . LayoutParams . WRAP _ CONTENT ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġcontext . resources . get Dimension Pixel Size ( R . dim en . pro mp ts _ cell _ padding ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Item . set Padding ( padding , Ġpadding , Ġpadding , Ġpadding ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcurrent Club Interest Ġ= Ġfield List [ position ] ĊĊĠĠĠĠĠĠĠ ĠviewHolder . club Or Interest Text . text Ġ= Ġcurrent Club Interest . getText () ĊĠĠĠĠĠĠĠ Ġif Ġ( current Club Interest . getSub text (). isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . club Or Interest Sub text . text Ġ= Ġcurrent Club Interest . getSub text () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . club Or Interest Sub text . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. load ( current Club Interest . drawable Url ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. into ( view Holder . icon !! ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( hide Icon ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewHolder . icon . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġselected Ġ= ĠContext Compat . getColor ( context , ĠR . color . on boarding List Selected ) ĊĠĠĠĠĠĠĠ Ġval Ġun selected Ġ= ĠContext Compat . getColor ( context , ĠR . color . on boarding _ fields ) ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Box Ġ= ĠviewHolder . layout !!. background ĊĠĠĠĠĠĠĠ Ġval Ġgreen Filter Ġ= ĠPort er D uff Color Filter ( selected , ĠPort er D uff . Mode . MULTI PLY ) ĊĠĠĠĠĠĠĠ Ġval Ġwhite Filter Ġ= ĠPort er D uff Color Filter ( un selected , ĠPort er D uff . Mode . MULTI PLY ) ĊĠĠĠĠĠĠĠ Ġdrawable Box . color Filter Ġ= Ġwhen Ġ( item Color ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Color . WHITE Ġ-> Ġwhite Filter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Color . GREEN Ġ-> Ġgreen Filter ĊĠĠĠĠĠĠĠĠĠĠĠ ĠItem Color . TO GGLE Ġ-> Ġif Ġ( current Club Interest . isSelected ()) Ġgreen Filter Ġelse Ġwhite Filter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist Item ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠViewHolder ( view : ĠView ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġclub Or Interest Text Ġ= Ġview ?. findViewById ( R . id . group _ or _ interest _ text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġclub Or Interest Sub text Ġ= Ġview ?. findViewById ( R . id . group _ or _ interest _ sub text ) Ġas ĠTextView ĊĠĠĠĠĠĠĠ Ġval Ġlayout Ġ= Ġview ?. findViewById < Constraint Layout >( R . id . group _ or _ interest _ box ) ĊĠĠĠĠĠĠĠ Ġval Ġicon Ġ= Ġview ?. findViewById < ImageView >( R . id . rounded _ rectangle ) ĊĠĠĠ Ġ} Ċ }