package Ġorg . w ats i . enrollment . views Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . support . constraint . Constraint Layout Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . gender _ age Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . member _ icon Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . member _ toggle Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . member _ toggle _ wrap Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . name Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . photo _ container Ċ import Ġkotlinx . android . synt hetic . main . view _ house hold _ member _ list _ item . view . un paid _ icon _ container Ċ import Ġorg . w ats i . enrollment . R Ċ import Ġorg . w ats i . enrollment . domain . entities . Gender Ċ import Ġorg . w ats i . enrollment . domain . entities . Member Ċ import Ġorg . w ats i . enrollment . domain . relations . Member With Thumbnail Ċ import Ġorg . w ats i . enrollment . helpers . Photo Loader Ċ import Ġorg . w ats i . enrollment . helpers . String Helper Ċ import Ġjava . util . UUID Ċ Ċ class ĠHouse hold Member ListItem Ġ@ Jvm Over loads Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġcontext : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Style Attr : ĠInt Ġ= Ġ 0 Ċ ) Ġ: ĠConstraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġplaceholder Photo Icon Padding Ġ= Ġresources . get Dimension Pixel Size ( R . dim en . house hold Photo Placeholder Padding ) ĊĊĠĠĠ Ġfun Ġset Params ( ĊĠĠĠĠĠĠĠ Ġmember With Thumbnail : ĠMember With Thumbnail , ĊĠĠĠĠĠĠĠ Ġtoggle Handler : Ġ(( member Id : ĠUUID , Ġis Checked : ĠBoolean ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmember Ġ= Ġmember With Thumbnail . member ĊĊĠĠĠĠĠĠĠ Ġname . text Ġ= Ġmember . name ĊĠĠĠĠĠĠĠ Ġval Ġgender String Ġ= Ġif Ġ( member . gender Ġ== ĠGender . F ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . female ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresources . getString ( R . string . male ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgender _ age . text Ġ= Ġresources . getString ( R . string . member _ list _ item _ gender _ age , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgender String , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠString Helper . getDisplay Age ( member , Ġcontext )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( member . is Head Of House hold ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmember _ icon . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( member . un paid ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun paid _ icon _ container . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġun paid _ icon _ container . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġtoggle Handler ?. let Ġ{ Ġhandler Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmember _ toggle _ wrap . visibility Ġ= ĠView . VISIBLE ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġwe Ġwant Ġthe Ġtoggle s Ġto Ġbe Ġon Ġby Ġdefault ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmember _ toggle . isChecked Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhandler ( member . id , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġmember _ toggle . setOn Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhandler ( member . id , Ġis Checked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠPhoto Loader . load Member Photo ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= Ġmember With Thumbnail . photo ?. bytes , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview Ġ= Ġphoto _ container , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext Ġ= Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= Ġmember . gender , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto Exists Ġ= Ġmember . photo Exists (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplaceholder Padding Ġ= Ġplaceholder Photo Icon Padding ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ