package Ġcom . kin . eco system . history . presenter ĊĊ Ċ import Ġandroid . support . annotation . NonNull Ċ import Ġcom . kin . eco system . base . Base Fragment Presenter Ċ import Ġcom . kin . eco system . common . Kin Callback Ċ import Ġcom . kin . eco system . common . Observer Ċ import Ġcom . kin . eco system . common . exception . Kin E co system Exception Ċ import Ġcom . kin . eco system . common . model . Balance Ċ import Ġcom . kin . eco system . core . bi . Event Logger Ċ import Ġcom . kin . eco system . core . bi . events . AP age View ed Ċ import Ġcom . kin . eco system . core . bi . events . Continue Button T apped Ċ import Ġcom . kin . eco system . core . bi . events . Page Close T apped Ċ import Ġcom . kin . eco system . core . data . blockchain . Blockchain Source Ċ import Ġcom . kin . eco system . core . data . order . Order DataSource Ċ import Ġcom . kin . eco system . core . data . settings . Settings DataSource Ċ import Ġcom . kin . eco system . core . network . model . Offer Ċ import Ġcom . kin . eco system . core . network . model . Order Ċ import Ġcom . kin . eco system . core . network . model . Order . Status Ċ import Ġcom . kin . eco system . core . network . model . Order List Ċ import Ġcom . kin . eco system . core . util . StringUtil Ċ import Ġcom . kin . eco system . history . view . I Order History View Ċ import Ġcom . kin . eco system . main . IN avig ator Ċ import Ġcom . kin . eco system . widget . Kin E co system Tabs Ċ import Ġjava . math . BigDecimal Ċ Ċ class ĠOrder History Presenter ( private Ġval Ġorder Repository : ĠOrder DataSource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġblockchain Source : ĠBlock chain Source , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġsettings DataSource : ĠSettings DataSource , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnavigator : ĠIN avig ator ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġevent Logger : ĠEvent Logger ) Ġ: ĠBase Fragment Presenter < I Order History View >( navigator ), ĠI Order History Presenter Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġe arn Order List : ĠMutable List < Order > Ġ= ĠArrayList () ĊĠĠĠ Ġprivate Ġvar Ġspend Order List : ĠMutable List < Order > Ġ= ĠArrayList () ĊĊĠĠĠ Ġprivate Ġvar Ġbalance Observer : ĠObserver < Balance >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcurrent Balance : ĠBalance Ġ= Ġblockchain Source . balance ĊĠĠĠ Ġprivate Ġvar Ġpublic Address : ĠString Ġ= Ġblockchain Source . public Address ĊĊĠĠĠ Ġprivate Ġvar Ġcurrent Pending Order : ĠOrder ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġcompleted Order Observer : ĠObserver < Order >? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( view : ĠI Order History View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( view ) ĊĠĠĠĠĠĠĠ Ġevent Logger . send ( AP age View ed . create ( AP age View ed . Page Name . MY _ K IN _ PAGE )) ĊĠĠĠĠĠĠĠ Ġget Cached History () ĊĠĠĠĠĠĠĠ Ġlisten To Orders () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġupdate Menu Settings Icon () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġremove Balance Observer () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detach () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Detach () ĊĠĠĠĠĠĠĠ Ġcompleted Order Observer ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorder Repository . remove Order Observer ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompleted Order Observer Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Enter Transition Ended () Ġ{ ĊĠĠĠĠĠĠĠ Ġget Order History List () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Cached History () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcached Order List Obj Ġ= Ġorder Repository . all Cached Order History ĊĠĠĠĠĠĠĠ Ġcached Order List Obj ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsync New Orders ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġview ?. set E arn List ( ear n Order List ) ĊĠĠĠĠĠĠĠ Ġview ?. set S pend List ( sp end Order List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Order History List () Ġ{ ĊĠĠĠĠĠĠĠ Ġorder Repository . getAll Order History ( object Ġ: ĠKin Callback < Order List > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( order History List : ĠOrder List ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsync New Orders ( order History List ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( exception : ĠKin E co system Exception ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsync New Orders ( new Orders List Obj : ĠOrder List ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( new E arn List , new S pend List Ġ) Ġ= Ġsplit ByType ( new Orders List Obj . orders ) ĊĠĠĠĠĠĠĠ Ġadd Orders ( new E arn List , Ġe arn Order List ) ĊĠĠĠĠĠĠĠ Ġadd Orders ( new S pend List , Ġspend Order List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Orders ( orders : ĠList < Order >, Ġcurrent Orders : ĠMutable List < Order >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( orders . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// the Ġoldest Ġorder Ġis Ġthe Ġlast Ġone , Ġso Ġwe 'll Ġgo Ġfrom Ġthe Ġlast Ġand Ġadd Ġthe Ġtop ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// we Ġwill Ġend Ġwith Ġnewest Ġorder Ġat Ġthe Ġtop . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġorders . indices . reversed ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġorder Ġ= Ġorders [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġcurrent Orders . indexOf ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ== ĠNOT _ FOUND ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// add Ġat Ġtop Ġ( ui Ġorientation ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order ( order Ġ= Ġorder ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsplit ByType ( list : ĠList < Order >) Ġ: ĠPair < List < Order >, ĠList < Order >> { ĊĠĠĠĠĠĠĠ Ġreturn Ġlist . filter Ġ{ Ġit . status Ġ!= ĠStatus . PENDING Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. partition Ġ{ Ġis E arn ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis E arn ( order : ĠOrder ) Ġ= Ġorder . offer Type Ġ== ĠOffer . Offer Type . E ARN ĊĊĠĠĠ Ġoverride Ġfun Ġon Tab Selected ( tab : ĠKin E co system Tabs . Tab ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( tab ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKin E co system Tabs . Tab . LEFT Ġ-> Ġview ?. show E arn List () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKin E co system Tabs . Tab . RIGHT Ġ-> Ġview ?. show S pend List () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlisten To Orders () Ġ{ ĊĠĠĠĠĠĠĠ Ġcompleted Order Observer Ġ= Ġobject Ġ: ĠObserver < Order >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged ( order : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġorder . status ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . PENDING Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Pending Order Ġ= Ġorder ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Sub Title ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . COMPLETED , ĠStatus . FAILED Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Current Order ( order )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Sub Title ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order OrUpdate ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Rest Of The Orders ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠStatus . DELAY ED Ġ-> Ġif Ġ( is Current Order ( order )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Sub Title ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġorder Repository . add Order Observer ( completed Order Observer !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Current Order ( order : ĠOrder ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġcurrent Pending Order ?. let Ġ{ Ġit Ġ== Ġorder Ġ} Ġ?: Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetStatus (@ NonNull Ġorder : ĠOrder ): ĠOrder Status Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( order . status !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder . Status . COMPLETED Ġ-> ĠOrder Status . COMPLETED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder . Status . FAILED Ġ-> ĠOrder Status . FAILED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder . Status . DELAY ED Ġ-> ĠOrder Status . DELAY ED ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOrder . Status . PENDING Ġ-> ĠOrder Status . PENDING ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetType ( offer Type : ĠOffer . Offer Type ): ĠOrder Type Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( offer Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOffer . Offer Type . SP END Ġ-> ĠOrder Type . SP END ĊĠĠĠĠĠĠĠĠĠĠĠ ĠOffer . Offer Type . E ARN Ġ-> ĠOrder Type . E ARN ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Sub Title ( order : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( order . origin Ġ== ĠOrder . Origin . MARK ET PLACE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstatus Ġ= ĠgetStatus ( order ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. update Sub Title ( order . amount , Ġstatus , ĠgetType ( order . offer Type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Rest Of The Orders ( order : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is E arn ( order )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( ear n Order List . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. notify E arn Data Changed ( Int Range ( 1 , Ġe arn Order List . size Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif ( sp end Order List . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. notify S pend Data Changed ( Int Range ( 1 , Ġspend Order List . size Ġ- Ġ 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Order OrUpdate ( order : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġindex Ġ= Ġif Ġ( is E arn ( order )) Ġe arn Order List . indexOf ( order ) Ġelse Ġspend Order List . indexOf ( order ) ĊĠĠĠĠĠĠĠ Ġif Ġ( index Ġ== ĠNOT _ FOUND ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Order ( order Ġ= Ġorder ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Order ( index Ġ= Ġindex , Ġorder Ġ= Ġorder ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Order ( index : ĠInt Ġ= Ġ 0 , Ġorder : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is E arn ( order )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe arn Order List . add ( index , Ġorder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. on E arn Item Inserted () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspend Order List . add ( index , Ġorder ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. on S pend Item Inserted () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Order ( index : ĠInt , Ġorder : ĠOrder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( is E arn ( order )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe arn Order List [ index ] Ġ= Ġorder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. on E arn Item Updated ( index ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġspend Order List [ index ] Ġ= Ġorder ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. on S pend Item Updated ( index ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Button Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġevent Logger . send ( Page Close T apped . create ( Page Close T apped . Exit Type . ANDROID _ NAV IG ATOR , ĠPage Close T apped . Page Name . MY _ K IN _ PAGE )) ĊĠĠĠĠĠĠĠ Ġnavigator ?. navigate Back () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Settings Button Clicked () Ġ{ ĊĠĠĠĠĠĠĠ Ġevent Logger . send ( Continue Button T apped . create ( Continue Button T apped . Page Name . MY _ K IN _ PAGE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠContinue Button T apped . Page Continue . MY _ K IN _ PAGE _ CONTINUE _ TO _ SETTINGS , Ġnull )) ĊĠĠĠĠĠĠĠ Ġnavigator ?. navigate To Settings () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Balance Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġremove Balance Observer () ĊĠĠĠĠĠĠĠ Ġbalance Observer Ġ= Ġobject Ġ: ĠObserver < Balance >() Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonChanged ( value : ĠBalance ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Balance Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Greater Then Zero ( value )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Menu Settings Icon () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġblockchain Source . add Balance Observer ( balance Observer !! , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġremove Balance Observer () Ġ{ ĊĠĠĠĠĠĠĠ Ġbalance Observer ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġblockchain Source . remove Balance Observer ( it , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbalance Observer Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Greater Then Zero ( value : ĠBalance ) Ġ= Ġvalue . amount . compareTo ( BigDecimal . ZERO ) Ġ== Ġ 1 ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Menu Settings Icon () Ġ{ ĊĠĠĠĠĠĠĠ Ġpublic Address . let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! StringUtil . isEmpty ( it )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! settings DataSource . is Back ed Up ( it )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Greater Then Zero ( current Balance )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Menu Touch Indicator ( true ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Balance Observer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Balance Observer () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Menu Touch Indicator ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview ?. show Menu Touch Indicator ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠOrder Type Ġ{ ĊĠĠĠĠĠĠĠ ĠE ARN , ĊĠĠĠĠĠĠĠ ĠSP END ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠOrder Status Ġ{ ĊĠĠĠĠĠĠĠ ĠP ENDING , ĊĠĠĠĠĠĠĠ ĠDEL AY ED , ĊĠĠĠĠĠĠĠ ĠCOMP LETED , ĊĠĠĠĠĠĠĠ ĠFAILED ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠNOT _ FOUND Ġ= Ġ- 1 ĊĠĠĠ Ġ} Ċ } Ċ