package Ġorg . tok end . template . features . offers Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . appcompat . app . AlertDialog Ċ import Ġio . reactivex . rx kotlin . subscribe By Ċ import Ġkotlinx . android . synt hetic . main . activity _ create _ offer .* Ċ import Ġorg . tok end . template . R Ċ import Ġorg . tok end . template . features . offers . logic . Cancel Offer UseCase Ċ import Ġorg . tok end . template . features . offers . model . Offer Record Ċ import Ġorg . tok end . template . logic . Tx Manager Ċ import Ġorg . tok end . template . util . Observable Transform ers Ċ import Ġorg . tok end . template . view . util . Progress Dialog Factory Ċ Ċ class ĠUpdate Offer Activity Ġ: ĠCreate Offer Activity () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġprev Offer : ĠOffer Record ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Allowed ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprev Offer Ġ= Ġintent . get Serializable Extra ( PREV _ OFF ER _ EXTRA ) Ġas ? ĠOffer Record ĊĠĠĠĠĠĠĠ Ġif Ġ( prev Offer Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish With Missing Arg Error ( PREV _ OFF ER _ EXTRA ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġthis . prev Offer Ġ= Ġprev Offer ĊĊĠĠĠĠĠĠĠ Ġsuper . onCreate Allowed ( savedInstanceState ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpre Fill Fields () Ġ{ ĊĠĠĠĠĠĠĠ Ġprice _ edit _ text . set Amount ( required Price , Ġquote Scale ) ĊĠĠĠĠĠĠĠ Ġamount _ edit _ text . set Amount ( prev Offer . base Amount , Ġbase Scale ) ĊĠĠĠĠĠĠĠ Ġtotal _ edit _ text . set Amount ( prev Offer . quote Amount , Ġquote Scale ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Offer To Cancel (): ĠOffer Record ? Ġ= Ġprev Offer ĊĊĠĠĠ Ġoverride Ġfun Ġget Title String (): ĠString Ġ= ĠgetString ( R . string . update _ offer _ title ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . offer _ details , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . onCreate Options Menu ( menu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . cancel _ offer Ġ-> Ġconfirm Offer Cancellation () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġregion ĠCancel ĊĠĠĠ Ġprivate Ġfun Ġconfirm Offer Cancellation () Ġ{ ĊĠĠĠĠĠĠĠ ĠAlertDialog . Builder ( this , ĠR . style . AlertDialog Style ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setMessage ( R . string . cancel _ offer _ confirmation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Positive Button ( R . string . yes ) Ġ{ Ġ_, Ġ_ Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcancel Offer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Negative Button ( R . string . no , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcancel Offer () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprogress Ġ= ĠProgress Dialog Factory . get Dialog ( this ) ĊĊĠĠĠĠĠĠĠ ĠCancel Offer UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprev Offer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Provider , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTx Manager ( api Provider ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. perform () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. compose ( Observable Transform ers . default Schedulers Comp letable ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Subscribe Ġ{ Ġprogress . show () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. do On Terminate Ġ{ Ġprogress . dismiss () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe By ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonComplete Ġ= Ġthis :: on Offer Canceled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonError Ġ= Ġ{ ĠerrorHandler Factory . getDefault (). handle ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġon Offer Canceled () Ġ{ ĊĠĠĠĠĠĠĠ Ġtoast Manager . short ( R . string . offer _ c anceled ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Ġend region ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠPRE V _ OFF ER _ EXTRA Ġ= Ġ" prev _ offer " ĊĊĠĠĠĠĠĠĠ Ġfun Ġget Bundle ( prev Offer : ĠOffer Record ) Ġ= ĠBundle (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput Serializable ( PREV _ OFF ER _ EXTRA , Ġprev Offer ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġput All ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Bundle ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbase Asset Ġ= Ġprev Offer . base Asset , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġquote Asset Ġ= Ġprev Offer . quote Asset , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Price Ġ= Ġprev Offer . price , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġforced Offer Type Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( prev Offer . is Buy ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFor ced Offer Type . BU Y ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFor ced Offer Type . SE LL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }