package Ġio . horizontal systems . bank wallet . modules . swap . confirmation Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view .* Ċ import Ġandroidx . activity . On Back Pressed Callback Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . view . isVisible Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . navigation . nav Graph ViewModels Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . Base Fragment Ċ import Ġio . horizontal systems . bank wallet . core . setOn Single ClickListener Ċ import Ġio . horizontal systems . bank wallet . modules . swap . view . Swap ViewModel Ċ import Ġio . horizontal systems . core . find Nav Controller Ċ import Ġio . horizontal systems . core . helpers . Hud Helper Ċ import Ġkotlinx . android . synt hetic . main . fragment _ confirmation _ swap .* Ċ Ċ class ĠSwap Confirmation Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġval ĠviewModel Ġby Ġnav Graph ViewModels < Swap ViewModel >( R . id . swap Fragment ) ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpresenter : ĠConfirm ation Presenter ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ confirmation _ swap , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate Options Menu ( menu : ĠMenu , Ġinflater : ĠMenu Inflater ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinflater . inflate ( R . menu . swap _ settings _ menu , Ġmenu ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Options ItemSelected ( item : ĠMenuItem ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( item . itemId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . menu Cancel Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Cancel Confirmation () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). pop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . on Options ItemSelected ( item ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġset Has Options Menu ( true ) ĊĊĠĠĠĠĠĠĠ Ġpresenter Ġ= ĠviewModel . confirmation Presenter ĊĊĠĠĠĠĠĠĠ Ġ( activity Ġas ? ĠAppCompatActivity )?. set Support ActionBar ( toolbar ) ĊĊĠĠĠĠĠĠĠ Ġswap Button . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswap Button . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Swap () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpresenter . confirmation View Item ()?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpay Title . text Ġ= Ġit . sending Title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpay Value . text Ġ= Ġit . sending Value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget Title . text Ġ= Ġit . re ceiving Title ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgetValue . text Ġ= Ġit . re ceiving Value ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Max Title . text Ġ= Ġit . min Max Title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin MaxValue . text Ġ= Ġit . min MaxValue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice . text Ġ= Ġit . price ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprice Impact . text Ġ= Ġit . price Impact ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswap Fee . text Ġ= Ġit . swap Fee ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx Speed . text Ġ= Ġit . transaction Speed ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtx Fee . text Ġ= Ġit . transaction Fee ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs li pp age Value . text Ġ= Ġit . s li pp age ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeadline Value . text Ġ= Ġit . deadline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Address Value . text Ġ= Ġit . recipient Address ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġs li pp age Title . isVisible Ġ= Ġit . s li pp age Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs li pp age Value . isVisible Ġ= Ġit . s li pp age Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeadline Title . isVisible Ġ= Ġit . deadline Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdeadline Value . isVisible Ġ= Ġit . deadline Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Address Title . isVisible Ġ= Ġit . recipient Address Ġ!= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrecipient Address Value . isVisible Ġ= Ġit . recipient Address Ġ!= Ġnull ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpresenter . swap Button Enabled . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġis Enabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswap Button . isEnabled Ġ= Ġis Enabled ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġpresenter . swap Button Title . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġtitle Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġswap Button . text Ġ= Ġtitle ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġpresenter . error . observe ( view Lifecycle Owner , ĠObserver Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror ?. let Ġ{ ĠH ud Helper . show ErrorMessage ( require Activity (). findViewById ( android . R . id . content ), Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attach ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Attach ( context ) ĊĠĠĠĠĠĠĠ Ġrequire Activity (). on Back Pressed Dispatcher . add Callback ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠOn Back Pressed Callback ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhandle On Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Cancel Confirmation () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( isEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). pop Back Stack () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ