package Ġcom . ud acity . sh o est ore Ċ Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . databinding . Binding Adapter Ċ import Ġandroidx . databinding . Inverse Binding Adapter Ċ import Ġcom . google . android . material . text field . TextInput EditText ĊĊ Ċ @ Suppress (" unused ") Ċ @ Binding Adapter (" sh oe Size Formatted ") Ċ fun ĠText Input EditText . set Sh oe Size Formatted ( item : ĠDouble ?) Ġ{ ĊĠĠĠ Ġitem ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( item Ġ> Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ( item . toString (), ĠTextView . Buffer Type . EDIT ABLE ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Text ("", ĠTextView . Buffer Type . EDIT ABLE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" unused ") Ċ @ Inverse Binding Adapter ( attribute Ġ= Ġ" sh oe Size Formatted ", Ġevent Ġ= Ġ" android : text Attr Changed ") Ċ fun ĠgetText ( view : ĠText Input EditText ): ĠDouble Ġ{ ĊĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnum Str Ġ= Ġview . text . toString () ĊĠĠĠĠĠĠĠ Ġnum Str . toDouble () ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠNumber FormatException ) Ġ{ ĊĠĠĠĠĠĠĠĠ 0 . 0 ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" unused ") Ċ @ Binding Adapter (" sh oe Size Formatted ") Ċ fun ĠTextView . set Sh oe Size Formatted ( item : ĠDouble ?) Ġ{ ĊĠĠĠ Ġitem ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġtext Ġ= Ġif Ġ( item Ġ> Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġitem . toString () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . getString ( R . string . not _ avail ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ