package Ġcom . yes fer al . hor ns app . app . presentation . ui . con cert . up coming . filters Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . core . content . Context Compat Ċ import Ġcom . yes fer al . hor ns app . app . R Ċ import Ġcom . yes fer al . hor ns app . app . presentation . common . extension . setUp With Ċ import Ġcom . yes fer al . hor ns app . mult it ype . ab straction . Delegate Listener Ċ import Ġcom . yes fer al . hor ns app . mult it ype . delegate . View Delegate Ċ Ċ data Ġclass ĠCategory ViewData ( ĊĠĠĠ Ġval Ġcategory Key : ĠString , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġis Selected : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠView Delegate < Category ViewData . Listener >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġlayout Ġ= ĠR . layout . item _ category ĊĊĠĠĠ Ġinterface ĠListener Ġ: ĠDelegate Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonClick ( category ViewData : ĠCategory ViewData ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon BindView Delegate ( view : ĠView , Ġlistener : ĠListener ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname TextView Ġ= Ġview . findViewById < TextView >( R . id . name TextView ) ĊĠĠĠĠĠĠĠ Ġname TextView . setUp With ( name ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( isSelected ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġselected Color Ġ= ĠContext Compat . getColor State List ( view . context , ĠR . color . accent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname TextView . setTextColor ( selected Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname TextView . background Tint List Ġ= Ġselected Color ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġun selected Color Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContext Compat . getColor State List ( view . context , ĠR . color . secondary Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname TextView . setTextColor ( un selected Color ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname TextView . background Tint List Ġ= Ġun selected Color ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġview . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener . onClick ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ