package Ġcom . f riday tech . dex . presentation . pin Ċ Ċ import Ġandroidx . bio metric . Bio metric Prompt Ċ import Ġandroidx . lifecycle . Mutable LiveData Ċ import Ġcom . f riday tech . dex . App Ċ import Ġcom . f riday tech . dex . core . ui . Core ViewModel Ċ import Ġcom . f riday tech . dex . core . ui . Single Live Event Ċ import Ġcom . f riday tech . dex . presentation . pin . Pin Interaction Type .* Ċ import Ġcom . f riday tech . dex . presentation . pin . cases . I Base Pin UseCase Ċ import Ġcom . f riday tech . dex . presentation . pin . cases . IP in View Ċ import Ġcom . f riday tech . dex . presentation . pin . cases . manage . Edit Pin UseCase Ċ import Ġcom . f riday tech . dex . presentation . pin . cases . manage . Set Pin UseCase Ċ import Ġcom . f riday tech . dex . presentation . pin . cases . unlock . Unlock Pin UseCase Ċ Ċ class ĠPin ViewModel Ġ: ĠCore ViewModel (), ĠIP in View Ġ{ ĊĠĠĠ Ġprivate Ġval Ġpin Manager Ġ= ĠApp . pin Manager ĊĊĠĠĠ Ġval Ġtitle LiveData Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġpages LiveData Ġ= ĠMutable LiveData < List < Pin Page >>() ĊĠĠĠ Ġval Ġshow Back Button Ġ= ĠMutable LiveData < Boolean >() ĊĠĠĠ Ġval Ġshow Page AtIndex Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġshow Error Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġshow Success Ġ= ĠMutable LiveData < Int >() ĊĠĠĠ Ġval Ġshow Error For Page Ġ= ĠMutable LiveData < Pair < Int , ĠInt >>() ĊĠĠĠ Ġval Ġfill Pin Circ les Ġ= ĠMutable LiveData < Pair < Int , ĠInt >>() ĊĊĠĠĠ Ġval Ġhide Toolbar Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġshow Fingerprint Input Event Ġ= ĊĠĠĠĠĠĠĠ ĠSingle Live Event < Bio metric Prompt . Crypto Object >() ĊĠĠĠ Ġval Ġreset Circ les With Sh ake And Delay For Page Event Ġ= ĊĠĠĠĠĠĠĠ ĠSingle Live Event < Int >() ĊĊĠĠĠ Ġval Ġnavigate To Main Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġdismiss With Cancel Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġdismiss With Success Event Ġ= ĠSingle Live Event < Unit >() ĊĠĠĠ Ġval Ġclose Application Event Ġ= ĠSingle Live Event < Unit >() ĊĊĠĠĠ Ġprivate Ġvar Ġuse Case : ĠI Base Pin UseCase ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġinit ( interaction Type : ĠPin Interaction Type , Ġshow Cancel : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case Ġ= Ġwhen Ġ( interaction Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSET _ PIN Ġ-> ĠSet Pin UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUN LOCK Ġ-> ĠUn lock Pin UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . lock Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . app Preferences , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . encryption Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠApp . system Info Manager , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Cancel ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEDIT _ PIN Ġ-> ĠEdit Pin UseCase ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpin Manager ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Case ?. view Did Load () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// region ĠIP in View ĊĊĠĠĠ Ġoverride Ġfun ĠsetTitle ( title : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle LiveData . post Value ( title ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġset Pages ( pages : ĠList < Pin Page >) Ġ{ ĊĠĠĠĠĠĠĠ Ġpages LiveData . post Value ( pages ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġfun Ġshow Page ( page Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Page AtIndex . post Value ( page Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error For Page ( page Index : ĠInt , Ġerror : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Error For Page . post Value ( page Index Ġto Ġerror ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( error : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Error . post Value ( error ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Pin Wrong ( page Index : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġreset Circ les With Sh ake And Delay For Page Event . post Value ( page Index ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Back Button () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Back Button . post Value ( true ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġfill Circ les ( page Index : ĠInt , Ġlength : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfill Pin Circ les . post Value ( page Index Ġto Ġlength ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Toolbar () Ġ{ ĊĠĠĠĠĠĠĠ Ġhide Toolbar . post Value ( Unit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Fingerprint Dialog ( crypto Object : ĠBio metric Prompt . Crypto Object ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Fingerprint Input Event . post Value ( crypto Object ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Success ( message : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Success . value Ġ= Ġmessage ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠNavigation ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss With Success () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss With Success Event . post Value ( Unit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdismiss With Cancel () Ġ{ ĊĠĠĠĠĠĠĠ Ġdismiss With Cancel Event . post Value ( Unit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose Application () Ġ{ ĊĠĠĠĠĠĠĠ Ġclose Application Event . post Value ( Unit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġback To Main () Ġ{ ĊĠĠĠĠĠĠĠ Ġnavigate To Main . post Value ( Unit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion ĊĊĠĠĠ Ġ// region ĠPublic ĊĊĠĠĠ Ġfun Ġon Back Pressed () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. on Back Pressed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Number Enter ( page : ĠInt , Ġnumber : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. on Enter ( page , Ġnumber ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠonDelete Click ( page : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. onDelete ( page ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġreset Pin () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. reset Pin () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Bio metric Unlock Click () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. on Bio metric Click () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Bio metric Unlock () Ġ{ ĊĠĠĠĠĠĠĠ Ġuse Case ?. on Bio metric Unlock ed () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// endregion Ċ } Ċ