/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 2 1 ĠNet E ase , ĠInc . Ġ ĠAll Ġrights Ġreserved . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġa ĠMIT Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġcom . net ease . yun xin . app . wis dom . edu . ui . clazz . widget Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroidx . constraint layout . widget . Constraint Layout Ċ import Ġcom . net ease . yun xin . app . wis dom . edu . ui . R Ċ import Ġcom . net ease . yun xin . app . wis dom . edu . ui . databinding . Item Bottom View Binding Ċ Ċ class ĠItem Bottom View ( context : ĠContext , Ġattrs : ĠAttributeSet ?, Ġdef Style Attr : ĠInt Ġ= Ġ 0 ) Ġ: ĊĠĠĠ ĠConstraint Layout ( context , Ġattrs , Ġdef Style Attr ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġbinding Ġ= ĠItem Bottom View Binding . inflate ( LayoutInflater . from ( context ), Ġthis ) ĊĊĠĠĠ Ġprivate Ġvar Ġselected : ĠBoolean Ġ= Ġfalse ĊĠĠĠ Ġprivate Ġvar Ġun Select Text : ĠString ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtext : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġthis ( context , Ġnull , Ġ 0 ) ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ?) Ġ: Ġthis ( context , Ġattrs , Ġ 0 ) ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġa Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Item Bottom View ) ĊĠĠĠĠĠĠĠ Ġbinding . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . getString ( R . style able . Item Bottom View _ text )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun Select Text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġa . getString ( R . style able . Item Bottom View _ un Selected Text )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun Select Text Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġselected Ġ= Ġa . getBoolean ( R . style able . Item Bottom View _ selected , Ġtrue ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinding . iv Icon . isSelected Ġ= Ġselected ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtv Label . text Ġ= Ġif Ġ( selected ) Ġtext Ġelse Ġun Select Text ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġiv Icon . setImage Drawable ( a . get Drawable ( R . style able . Item Bottom View _ src )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġa . recycle () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetSelected ( selected : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . setSelected ( selected ) ĊĠĠĠĠĠĠĠ Ġbinding . iv Icon . isSelected Ġ= Ġselected ĊĠĠĠĠĠĠĠ Ġbinding . tv Label . text Ġ= Ġif Ġ( selected ) Ġtext Ġelse Ġun Select Text ĊĠĠĠĠĠĠĠ Ġthis . selected Ġ= Ġselected ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Selected (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġselected ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Num Un read ( num : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . tv Num Un read . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( num Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtext Ġ= Ġnum . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Small Un read ( num : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbinding . tv Small Un read . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= Ġif Ġ( num Ġ> Ġ 0 ) ĠView . VISIBLE Ġelse ĠView . GONE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }