package Ġeu . kan ade . t ach iy omi . ui . catalog ue . filter Ċ Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroidx . recyclerview . widget . RecyclerView Ċ import Ġeu . dav idea . flex ible adapter . Flex ible Adapter Ċ import Ġeu . dav idea . flex ible adapter . items . Abstract Flex ible Item Ċ import Ġeu . dav idea . flex ible adapter . items . IF lex ible Ċ import Ġeu . dav idea . view holders . Flex ible ViewHolder Ċ import Ġeu . kan ade . t ach iy omi . R Ċ import Ġeu . kan ade . t ach iy omi . source . model . Filter Ċ Ċ open Ġclass ĠCheckbox Item ( val Ġfilter : ĠFilter . CheckBox ) Ġ: ĠAbstract Flex ible Item < Checkbox Item . Holder >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Layout Res (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠR . layout . navigation _ view _ checkbox ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ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 : ĠList < Any ?> ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġholder . check ĊĠĠĠĠĠĠĠ Ġview . text Ġ= Ġfilter . name ĊĠĠĠĠĠĠĠ Ġview . isChecked Ġ= Ġfilter . state ĊĠĠĠĠĠĠĠ Ġholder . item View . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview . toggle () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfilter . state Ġ= Ġview . isChecked ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( java Class Ġ!= Ġother ?. java Class ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġreturn Ġfilter Ġ== Ġ( other Ġas ĠCheckbox Item ). filter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġfilter . hashCode () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclass ĠH older ( view : ĠView , Ġadapter : ĠFlex ible Adapter <* >) Ġ: ĠFlex ible ViewHolder ( view , Ġadapter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcheck : ĠCheckBox Ġ= ĠitemView . findViewById ( R . id . nav _ view _ item ) ĊĠĠĠ Ġ} Ċ } Ċ