package Ġio . horizontal systems . bank wallet . modules . manage coins . views Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . Menu Ċ import Ġandroid . view . MenuItem Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . horizontal systems . bank wallet . Base Activity Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . utils . Module Code Ċ import Ġio . horizontal systems . bank wallet . core . utils . Module Field Ċ import Ġio . horizontal systems . bank wallet . entities . Account Type Ċ import Ġio . horizontal systems . bank wallet . entities . Coin Ċ import Ġio . horizontal systems . bank wallet . entities . Pre defined Account Type Ċ import Ġio . horizontal systems . bank wallet . modules . blockchain settings . Coin Settings Module Ċ import Ġio . horizontal systems . bank wallet . modules . blockchain settings . Settings Mode Ċ import Ġio . horizontal systems . bank wallet . modules . create wallet . view . Coin Items Adapter Ċ import Ġio . horizontal systems . bank wallet . modules . manage coins . Manage Wallet s Module Ċ import Ġio . horizontal systems . bank wallet . modules . manage coins . Manage Wallet s Presenter Ċ import Ġio . horizontal systems . bank wallet . modules . manage coins . Manage Wallet s Router Ċ import Ġio . horizontal systems . bank wallet . modules . manage coins . Manage Wallet s View Ċ import Ġio . horizontal systems . bank wallet . modules . restore . Restore Module Ċ import Ġio . horizontal systems . core . helpers . Hud Helper Ċ import Ġkotlinx . android . synt hetic . main . activity _ manage _ coins .* Ċ Ċ class ĠManage Wallet s Activity Ġ: ĠBase Activity (), ĠManage Wallet s Dialog . Listener , ĠCoin Items Adapter . Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠManage Wallet s Presenter ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġadapter : ĠCoin Items Adapter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ manage _ coins ) ĊĊĠĠĠĠĠĠĠ Ġval Ġshow Close Button Ġ= Ġintent ?. extras ?. getBoolean ( Module Field . SHOW _ CLOSE _ BUTTON , Ġfalse ) Ġ?: Ġfalse ĊĠĠĠĠĠĠĠ Ġval Ġis Col d Start Ġ= ĠsavedInstanceState Ġ!= Ġnull ĊĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠViewModel Provider ( this , ĠManage Wallet s Module . Factory ( show Close Button , Ġis Col d Start Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. get ( Manage Wallet s Presenter :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġpresenter . on Load () ĊĊĠĠĠĠĠĠĠ Ġset Support ActionBar ( toolbar ) ĊĠĠĠĠĠĠĠ Ġif Ġ(! presenter . show Close Button ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport ActionBar ?. set Display Home As Up Enabled ( true ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġadapter Ġ= ĠCoin Items Adapter ( this ) ĊĠĠĠĠĠĠĠ Ġre cyclerView . adapter Ġ= Ġadapter ĊĊĠĠĠĠĠĠĠ Ġobserve ( presenter . view Ġas ĠManage Wallet s View ) ĊĠĠĠĠĠĠĠ Ġobserve ( presenter . router Ġas ĠManage Wallet s Router ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġobserve ( view : ĠManage Wallet s View ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . coins LiveData . observe ( this , ĠObserver Ġ{ Ġview Items Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . view Items Ġ= Ġview Items ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadapter . notify DataSet Changed () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġview . show Manage Keys Dialog . observe ( this , ĠObserver Ġ{ Ġ( coin , Ġpredefined Account Type ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠManage Wallet s Dialog . show ( this , Ġthis , Ġcoin , Ġpredefined Account Type ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġview . show Error Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Cancel () Ġ// Ġwill Ġun check Ġcoin ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġview . show Success Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠH ud Helper . show Success Message ( R . string . Hud _ Text _ Done ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġobserve ( router : ĠManage Wallet s Router ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrouter . open Restore Module . observe ( this , ĠObserver Ġ{ Ġpredefined Account Type Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRestore Module . start For Result ( this , Ġpredefined Account Type , ĠModule Code . REST ORE _ KEY _ INPUT ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġrouter . close Live Date . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġrouter . show Coin Settings . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCoin Settings Module . start For Result ( this , ĠSettings Mode . Inside Restore ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu Inflater . inflate ( R . menu . manage _ coins _ menu , Ġmenu ) ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Prepare Options Menu ( menu : ĠMenu ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġmenu ?. find Item ( R . id . menu Close )?. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Visible Ġ= Ġpresenter . show Close Button ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( item . itemId ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu Close Ġ-> Ġ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Back Pressed () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( request Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModule Code . CO IN _ SETTINGS Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Coin Settings Close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠModule Code . REST ORE _ KEY _ INPUT -> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġaccount Type Ġ= Ġdata ?. get Parcelable Extra < Account Type >( Module Field . ACCOUNT _ TYPE ) Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . did Restore ( account Type ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠManage Wallet s Dialog . Listener ĊĊĠĠĠ Ġoverride Ġfun ĠonClick Create Key ( pre defined Account Type : ĠPre defined Account Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Select New Account ( pre defined Account Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonClick Restore Key ( pre defined Account Type : ĠPre defined Account Type ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Select Restore Account ( pre defined Account Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Cancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . onClick Cancel () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCoin Items Adapter Ġlistener ĊĊĠĠĠ Ġoverride Ġfun Ġenable ( coin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Enable ( coin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdisable ( coin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Disable ( coin ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġselect ( coin : ĠCoin ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpresenter . on Select ( coin ) ĊĠĠĠ Ġ} Ċ } Ċ