package Ġcom . app . yk c . zig z ag _ challenge . views Ċ Ċ import Ġandroid . util . Typed Value Ċ import Ġandroid . view . View Ċ import Ġcom . app . yk c . zig z ag _ challenge . R Ċ import Ġcom . app . yk c . zig z ag _ challenge . app . Kotlin Model Ċ import Ġcom . google . android . material . chip . Chip Ċ Ċ data Ġclass ĠP ink Chip ( ĊĠĠĠĠĠĠĠ Ġval Ġtitle : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġis Checked : ĠBoolean Ċ ) Ġ: ĠKotlin Model ( R . layout . chip _ style ) Ġ{ ĊĊĠĠĠ Ġvar Ġlistener Ġ: Ġ(( Boolean , ĠString ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĊĠĠĠ Ġval Ġchip Ġby Ġbind < Chip >( R . id . chip ) ĊĊĠĠĠ Ġoverride Ġfun Ġbind () Ġ{ ĊĠĠĠĠĠĠĠ Ġchip . setText Size ( Typed Value . COMPLEX _ UNIT _ DIP , Ġ 1 3 f ) ĊĊĠĠĠĠĠĠĠ Ġchip . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġchip . isChecked Ġ= Ġis Checked ĊĠĠĠĠĠĠĠ Ġchip . set Chip BackgroundColor Resource ( if ( isChecked ) ĠR . color . pink Ġelse ĠR . color . white ) ĊĊĠĠĠĠĠĠĠ Ġchip . setOn Checked ChangeListener Ġ{ Ġview , Ġchecked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. invoke ( checked , Ġtitle ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( view Ġas ĠCh ip ). post Ġ{ Ġview . set Chip BackgroundColor Resource ( if ( checked ) ĠR . color . pink Ġelse ĠR . color . white ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġun bind ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlistener Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġsuper . unbind ( view ) ĊĠĠĠ Ġ} Ċ }