package Ġca . qc . cst j . con sort ium . presentation . ui . new Delivery Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . activity . view Models Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġca . qc . cst j . con sort ium . R Ċ import Ġca . qc . cst j . con sort ium . core . Formatter Ċ import Ġca . qc . cst j . con sort ium . databinding . Activity New Delivery Binding Ċ import Ġca . qc . cst j . con sort ium . presentation . ui . deliver ies . Del iv eries Activity Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ Ċ class ĠNew Delivery Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġbinding : ĠActivity New Delivery Binding ĊĊĠĠĠ Ġprivate Ġval ĠviewModel : ĠNew Delivery ViewModel Ġby Ġview Models () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġbinding Ġ= ĠActivity New Delivery Binding . inflate ( layout Inflater ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( binding . root ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . tr ader . observe ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Z . isEnabled Ġ= Ġ( it . z usc um Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Wu . isEnabled Ġ= Ġ( it . w us ny x Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Ja . isEnabled Ġ= Ġ( it . j asm alt Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element I . isEnabled Ġ= Ġ( it . ias pyx Ġ> Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element B . isEnabled Ġ= Ġ( it . b lier ium Ġ> Ġ 0 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Z . value To Ġ= Ġif ( it . z usc um Ġ> Ġ 0 ) Ġit . z usc um Ġelse Ġ 1 F ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Wu . value To Ġ= Ġif ( it . w us ny x Ġ> Ġ 0 ) Ġit . w us ny x Ġelse Ġ 1 F ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Ja . value To Ġ= Ġif ( it . j asm alt Ġ> Ġ 0 ) Ġit . j asm alt Ġelse Ġ 1 F ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element I . value To Ġ= Ġif ( it . ias pyx Ġ> Ġ 0 ) Ġit . ias pyx Ġelse Ġ 1 F ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element B . value To Ġ= Ġif ( it . b lier ium Ġ> Ġ 0 ) Ġit . b lier ium Ġelse Ġ 1 F ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Z . value Ġ= Ġit . z usc um ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Wu . value Ġ= Ġit . w us ny x ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Ja . value Ġ= Ġit . j asm alt ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element I . value Ġ= Ġit . ias pyx ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element B . value Ġ= Ġit . b lier ium ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx v Amount Element Z . text Ġ= ĠFormatter . to Decimal Format ( it . z usc um . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx v Amount Element Wu . text Ġ= ĠFormatter . to Decimal Format ( it . w us ny x . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx v Amount Element Ja . text Ġ= ĠFormatter . to Decimal Format ( it . j asm alt . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx v Amount Element I . text Ġ= ĠFormatter . to Decimal Format ( it . ias pyx . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtx v Amount Element B . text Ġ= ĠFormatter . to Decimal Format ( it . b lier ium . toDouble ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith ( binding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Z . add On ChangeListener Ġ{ Ġ_, Ġvalue , Ġ_ Ġ-> Ġtx v Amount Element Z . text Ġ= ĠFormatter . to Decimal Format ( value . toDouble ()) } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Wu . add On ChangeListener Ġ{ Ġ_, Ġvalue , Ġ_ Ġ-> Ġtx v Amount Element Wu . text Ġ= ĠFormatter . to Decimal Format ( value . toDouble ()) } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element Ja . add On ChangeListener Ġ{ Ġ_, Ġvalue , Ġ_ Ġ-> Ġtx v Amount Element Ja . text Ġ= ĠFormatter . to Decimal Format ( value . toDouble ()) } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element I . add On ChangeListener Ġ{ Ġ_, Ġvalue , Ġ_ Ġ-> Ġtx v Amount Element I . text Ġ= ĠFormatter . to Decimal Format ( value . toDouble ()) } ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs ld Element B . add On ChangeListener Ġ{ Ġ_, Ġvalue , Ġ_ Ġ-> Ġtx v Amount Element B . text Ġ= ĠFormatter . to Decimal Format ( value . toDouble ()) } ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbtn Save Delivery . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( binding ){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġz usc um Ġ= Ġs ld Element Z . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġw us ny x Ġ= Ġs ld Element Wu . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġj asm alt Ġ= Ġs ld Element Ja . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġi as pyx Ġ= Ġs ld Element I . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġb lier ium Ġ= Ġs ld Element B . value ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif ( z usc um Ġ== Ġ 0 F Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġw us ny x Ġ== Ġ 0 F Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġj asm alt Ġ== Ġ 0 F Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi as pyx Ġ== Ġ 0 F Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġb lier ium Ġ== Ġ 0 F ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ New Delivery Activity , ĠgetString ( R . string . empty Delivery Error ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . create Delivery ( z usc um , Ġw us ny x , Ġj asm alt , Ġi as pyx , Ġb lier ium ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this @ New Delivery Activity , ĠgetString ( R . string . delivery Creation ), ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Intent ( context : ĠContext ) Ġ: ĠIntent Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠIntent ( context , ĠNew Delivery Activity :: class . java ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }