package Ġcom . f riday tech . z rx kit . sample . dialogs Ċ Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . fragment . app . FragmentManager Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġcom . f riday tech . z rx kit . sample . Main ViewModel Ċ import Ġcom . f riday tech . z rx kit . sample . R Ċ import Ġcom . f riday tech . z rx kit . sample . Utils Ċ import Ġcom . f riday tech . z rx kit . sample . core . E Order Side Ċ import Ġcom . f riday tech . z rx kit . sample . core . E Order Side .* Ċ import Ġkotlinx . android . synt hetic . main . dialog _ create _ order _ step .* Ċ import Ġkotlinx . android . synt hetic . main . dialog _ create _ order _ step . dialog _ title Ċ import Ġjava . math . BigDecimal Ċ Ċ class ĠCreate Order Step : ĠBase Bottom Dialog ( R . layout . dialog _ create _ order _ step , Ġtrue ) Ġ{ ĊĠĠĠ Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĠĠĠ Ġvar Ġside : ĠE Order Side Ġ= ĠB ID ĊĊĠĠĠ Ġprivate Ġval Ġamount : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate _ order _ amount . text . toString (). toDouble OrNull () Ġ?: Ġ 0 . 0 ĊĊĠĠĠ Ġprivate Ġval Ġprice : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġcreate _ order _ price . text . toString (). toDouble OrNull () Ġ?: Ġ 0 . 0 ĊĊĠĠĠ Ġprivate Ġval Ġtotal Price : ĠDouble ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġamount Ġ* Ġprice ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( it ). get ( Main ViewModel :: class . java ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdialog _ title . text Ġ= Ġwhen Ġ( side ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAS K Ġ-> Ġ" Place ĠS ELL Ġorder " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠB ID Ġ-> Ġ" Place ĠBU Y Ġorder " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ order _ base . text Ġ= Ġ" Token : Ġ" ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ order _ amount . add TextChanged Listener ( object Ġ: ĠSimple Text Watcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Total () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ order _ price . add TextChanged Listener ( object Ġ: ĠSimple Text Watcher () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon TextChanged ( s : ĠCharSequence ?, Ġstart : ĠInt , Ġbefore : ĠInt , Ġcount : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Total () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ trade _ confirm . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( amount Ġ> Ġ 0 . 0 Ġ&& Ġprice Ġ> Ġ 0 . 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Processing ...", ĠToast . LENGTH _ LONG ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ trade _ confirm . alpha Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreate _ trade _ confirm . isEnabled Ġ= Ġfalse ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . create Order ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal ( create _ order _ amount . text . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBigDecimal ( create _ order _ price . text . toString ()), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġside ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdismiss () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( context , Ġ" Check Ġamount Ġor Ġprice ", ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Total () Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate _ order _ total . text Ġ= Ġ" Total Ġprice : Ġ${ Utils . df . format ( total Price )} ĠW ETH " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġopen ( fm : ĠFragment Manager , Ġside : ĠE Order Side ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= ĠCreate Order Step () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . side Ġ= Ġside ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . show ( fm , Ġ" create ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }