package Ġio . horizontal systems . bank wallet . modules . settings . security Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Provider Ċ import Ġio . horizontal systems . bank wallet . R Ċ import Ġio . horizontal systems . bank wallet . core . Base Activity Ċ import Ġio . horizontal systems . bank wallet . core . setOn Single ClickListener Ċ import Ġio . horizontal systems . bank wallet . modules . settings . security . privacy . Privacy Settings Module Ċ import Ġio . horizontal systems . pin . Pin Module Ċ import Ġio . horizontal systems . views . Single Switch Listener Ċ import Ġio . horizontal systems . views . Top MenuItem Ċ import Ġio . horizontal systems . views . show If Ċ import Ġkotlinx . android . synt hetic . main . activity _ settings _ security .* Ċ Ċ class ĠSecurity Settings Activity Ġ: ĠBase Activity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠSecurity Settings ViewModel ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ settings _ security ) ĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Provider ( this ). get ( Security Settings ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ ĠviewModel . init () ĊĊĠĠĠĠĠĠĠ Ġshadow less Toolbar . bind ( getString ( R . string . Settings _ Security Center ), ĠTop MenuItem ( R . drawable . ic _ back , ĠonClick Ġ= Ġ{ Ġon Back Pressed () Ġ})) ĊĊĠĠĠĠĠĠĠ Ġchange Pin . setOn Single ClickListener Ġ{ ĠviewModel . delegate . did Tap Edit Pin () Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivacy . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delegate . did Tap Privacy () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbio metric Auth . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbio metric Auth . switch Toggle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġenable Pin . setOn Single ClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Pin . switch Toggle () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġ ĠHandling Ġview Ġmodel Ġlive Ġevents ĊĊĠĠĠĠĠĠĠ ĠviewModel . pin Set LiveData . observe ( this , ĠObserver Ġ{ Ġpin Enabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Pin . show Switch ( pin Enabled , Ġobject : ĠSingle Switch Listener (){ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Single Switch ( button View : ĠCompound Button ?, Ġis Checked : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delegate . did Switch Pin Set ( isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . edit Pin Visible LiveData . observe ( this , ĠObserver Ġ{ Ġpin Enabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Pin . show If ( pin Enabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Pin . show Bottom Border (! pin Enabled ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . bio metric Settings Visible LiveData . observe ( this , ĠObserver Ġ{ Ġenabled Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbio metric Auth . show If ( enabled ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Bio metric Auth Info . show If ( enabled ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . bio metric Enabled LiveData . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbio metric Auth . show Switch ( it , ĠCompound Button . On Checked ChangeListener Ġ{ Ġ_, Ġis Checked Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . delegate . did Switch Bio metric Enabled ( isChecked ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġ// router ĊĊĠĠĠĠĠĠĠ ĠviewModel . open Edit Pin Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . start For Edit Pin ( this ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . open Set Pin Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . start For Set Pin ( this , ĠREQUEST _ CODE _ SET _ PIN ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . open Unlock Pin Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . start For Unlock ( this , ĠREQUEST _ CODE _ UNLOCK _ PIN _ TO _ DISABLE _ PIN ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠviewModel . open Privacy Settings Live Event . observe ( this , ĠObserver Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPrivacy Settings Module . start ( this ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CODE _ SET _ PIN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . RESULT _ OK Ġ-> ĠviewModel . delegate . did Set Pin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . RESULT _ CANCEL LED Ġ-> ĠviewModel . delegate . did Cancel Set Pin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠREQUEST _ CODE _ UNLOCK _ PIN _ TO _ DISABLE _ PIN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( result Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . RESULT _ OK Ġ-> ĠviewModel . delegate . did Unlock Pin To Disable Pin () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPin Module . RESULT _ CANCEL LED Ġ-> ĠviewModel . delegate . did Cancel Unlock Pin To Disable Pin () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE _ SET _ PIN Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠREQUEST _ CODE _ UNLOCK _ PIN _ TO _ DISABLE _ PIN Ġ= Ġ 2 ĊĠĠĠ Ġ} Ċ } Ċ