package Ġio . horizontal systems . bank wallet . modules . backup Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ import Ġio . horizontal systems . bank wallet . Base Activity Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . setOn Single ClickListener Ċ import Ġio . horizontal systems . bank wallet . modules . pin . Pin Module Ċ import Ġio . horizontal systems . bank wallet . ui . dialogs . Bottom Confirm Alert Ċ import Ġkotlinx . android . synt hetic . main . activity _ backup _ words .* Ċ Ċ class ĠBackup Activity Ġ: ĠBase Activity (), ĠBottom Confirm Alert . Listener Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠBackup ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ backup _ words ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( Backup ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . init ( Backup Presenter . Dismiss Mode . valueOf ( intent . getString Extra ( dismiss Mode Key ))) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( savedInstanceState Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delegate . view Did Load () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbutton Back . setOn Single ClickListener Ġ{ ĠviewModel . delegate . on Back Click () Ġ} ĊĠĠĠĠĠĠĠ Ġbutton Next . setOn Single ClickListener Ġ{ ĠviewModel . delegate . onNext Click () Ġ} ĊĊĠĠĠĠĠĠĠ ĠviewModel . navigate To Set Pin Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . start For Set Pin ( this ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . close Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . key Store Safe Execute . observe ( this , ĠObserver Ġ{ Ġtriple Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtriple ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġ( action , ĠonSuccess , Ġon Failure ) Ġ= Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsafe Execute With Ke yst ore ( action , ĠonSuccess , Ġon Failure ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . show Confirmation Check Dialog Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġconfirmation List Ġ= Ġmutable ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . Backup _ Confirmation _ SecretKey , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . Backup _ Confirmation _ Delete App Warn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . Backup _ Confirmation _ Lock App Warn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . string . Backup _ Confirmation _ Dis claimer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBottom Confirm Alert . show ( this , Ġconfirmation List , Ġthis ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . load Page Live Event . observe ( this , ĠObserver Ġ{ Ġpage Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpage ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġwhen ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠBackup Info Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠBackup Words Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠBackup Confirm Fragment () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Ġ= Ġsupport FragmentManager . beginTransaction () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . replace ( R . id . fragment Container , Ġfragment ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . addTo Back Stack ( null ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtransaction . commit () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Buttons ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Buttons ( page : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen ( page ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Back . setText ( R . string . Backup _ Intro _ Later ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Next . setText ( R . string . Backup _ Intro _ Backup Now ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Back . setText ( R . string . Button _ Back ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Next . setText ( R . string . Backup _ Button _ Next ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Back . setText ( R . string . Button _ Back ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton Next . setText ( R . string . Backup _ Button _ Submit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . delegate . on Back Click () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Confirmation Success () Ġ{ ĊĠĠĠĠĠĠĠ ĠviewModel . delegate . on Terms Confirm () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval Ġdismiss Mode Key Ġ= Ġ" Dismiss Mode " ĊĊĠĠĠĠĠĠĠ Ġfun Ġstart ( context : ĠContext , Ġdismiss Mode : ĠBackup Presenter . Dismiss Mode ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( context , ĠBackup Activity :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . putExtra ( dismiss Mode Key , Ġdismiss Mode . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext . startActivity ( intent ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ