package Ġcom . radix d lt . android . apps . pos . ui . setup . fragment Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . core . view . do On Layout Ċ import Ġandroidx . lifecycle . lifecycle Scope Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . radix d lt . android . apps . pos . R Ċ import Ġcom . radix d lt . android . apps . pos . ui . Base Fragment Ċ import Ġcom . radix d lt . android . apps . pos . util . Vault Preferences Ċ import Ġcom . radix d lt . android . apps . pos . util . replace With A ster isk Ċ import Ġkotlinx . android . synt hetic . main . fragment _ setup _ pin .* Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . coroutines . launch Ċ Ċ class ĠSetup Pin Fragment Ġ: ĠBase Fragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġpin Set : ĠString ĊĠĠĠ Ġprivate Ġvar Ġsetup Pin State : ĠSetup Pin State Ġ= ĠSetup Pin State . SET ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , ĊĠĠĠĠĠĠĠ Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ= Ġinflater . inflate ( R . layout . fragment _ setup _ pin , Ġcontainer , Ġfalse ) ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Pin Header Text () ĊĠĠĠĠĠĠĠ Ġset On Layout ChangeListener ( view ) ĊĠĠĠĠĠĠĠ Ġset On Key pad Text ChangeListener () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Pin Header Text () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( setup Pin State Ġ== ĠSetup Pin State . SET ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Title TextView . text Ġ= ĠgetText ( R . string . setup _ pin _ fragment _ set _ pin _ header ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Title TextView . text Ġ= ĠgetText ( R . string . setup _ pin _ fragment _ confirm _ pin _ header ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On Layout ChangeListener ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġview . do On Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparams Ġ= Ġsetup Pin TextView . layout Params Ġas ĠViewGroup . LayoutParams ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparams . width Ġ= Ġsetup Pin Disabled TextView . width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin TextView . layout Params Ġ= Ġparams ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset On Key pad Text ChangeListener () Ġ{ ĊĠĠĠĠĠĠĠ Ġsetup Pin Key pad . setOn Text ChangeListener Ġ{ Ġpin : ĠString , Ġ_: ĠInt Ġ-> ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( setup Pin Error TextView . visibility Ġ== ĠView . VISIBLE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin Error TextView . visibility Ġ= ĠView . GONE ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhidden Pin Ġ= Ġpin . replace Range ( 0 , Ġpin . length , Ġreplace With A ster isk ( pin )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin TextView . text Ġ= Ġhidden Pin ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pin . length Ġ== Ġ 4 Ġ&& Ġsetup Pin State Ġ== ĠSetup Pin State . SET ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Title TextView . text Ġ= ĠgetText ( R . string . setup _ pin _ fragment _ confirm _ pin _ header ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Hidden Pin With Delay () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Set Ġ= Ġpin ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin Key pad . clear Digits () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin State Ġ= ĠSetup Pin State . CONFIRM ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( pin . length Ġ== Ġ 4 Ġ&& Ġsetup Pin State Ġ== ĠSetup Pin State . CONFIRM ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pin Ġ== Ġpin Set ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVault Preferences . set Vault PIN ( pin ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . action _ navigation _ setup _ pin _ to _ navigation _ setup _ payment _ address ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin Error TextView . visibility Ġ= ĠView . VISIBLE ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin Error TextView . text Ġ= ĠgetText ( R . string . setup _ pin _ fragment _ pin _ does _ not _ match ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclear Hidden Pin With Delay () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin Key pad . clear Digits () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġclear Hidden Pin With Delay () Ġ{ ĊĠĠĠĠĠĠĠ Ġlifecycle Scope . launch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 2 0 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Pin TextView . text Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġenum Ġclass ĠSetup Pin State Ġ{ ĊĠĠĠĠĠĠĠ ĠSET , ĠCON FIRM ĊĠĠĠ Ġ} Ċ } Ċ