package Ġeu . kan ade . t ach iy omi . ui . catalog ue . filter Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . view . View Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġcom . mike pen z . icon ics . Icon ics Drawable Ċ import Ġcom . mike pen z . icon ics . type face . library . community . material . Community Material Ċ import Ġcom . mike pen z . icon ics . utils . color Int Ċ import Ġcom . mike pen z . icon ics . utils . size Dp Ċ import Ġeu . dav idea . flex ible adapter . Flex ible Adapter Ċ import Ġeu . dav idea . flex ible adapter . items . Abstract Expand able Header Item Ċ import Ġeu . dav idea . flex ible adapter . items . IF lex ible Ċ import Ġeu . dav idea . flex ible adapter . items . I Section able Ċ import Ġeu . kan ade . t ach iy omi . R Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter Ċ Ċ class ĠSort Group ( val Ġfilter : ĠFilter . Sort ) Ġ: ĠAbstract Expand able Header Item < Sort Group . Holder , ĠI Section able < *, Ġ* >>() Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġis Expanded Ġ= Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . navigation _ view _ group ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetItem ViewType (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate ViewHolder ( ĊĠĠĠĠĠĠĠ Ġview : ĠView , ĊĠĠĠĠĠĠĠ Ġadapter : ĠFlex ible Adapter < IF lex ible < RecyclerView . ViewHolder >> ĊĠĠĠ Ġ): ĠH older Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠH older ( view , Ġadapter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġbind ViewHolder ( ĊĠĠĠĠĠĠĠ Ġadapter : ĠFlex ible Adapter < IF lex ible < RecyclerView . ViewHolder >>, ĊĠĠĠĠĠĠĠ Ġholder : ĠH older , ĊĠĠĠĠĠĠĠ Ġposition : ĠInt , ĊĠĠĠĠĠĠĠ Ġpayload s : ĠMutable List < Any >? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġholder . title . text Ġ= Ġfilter . name ĊĊĠĠĠĠĠĠĠ Ġval Ġicon Ġ= Ġif Ġ( is Expanded ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCommunity Material . Icon . cmd _ chevron _ down ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCommunity Material . Icon . cmd _ chevron _ right ĊĊĠĠĠĠĠĠĠ Ġholder . icon ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setImage Drawable ( Icon ics Drawable ( holder . content View . context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. icon ( icon ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. color Int ( Color . WHITE ). size Dp ( 1 6 )) ĊĊĠĠĠĠĠĠĠ Ġholder . content View . setOnClickListener ( holder ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġfilter Ġ== Ġ( other Ġas ĠSort Group ). filter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfilter . hashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older ( view : ĠView , Ġadapter : ĠFlex ible Adapter <* >) Ġ: ĠGroup Item . Holder ( view , Ġadapter ) Ċ } Ċ