package Ġca . bc . gov . secure image . screens . authenticate Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Key guard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġandroid . widget . Toast Ċ import Ġca . bc . gov . secure image . R Ċ import Ġca . bc . gov . secure image . screens . albums . Album s Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ authenticate .* Ċ Ċ /** Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ* ĠCreated Ġby ĠA id an ĠLa ing Ġon Ġ 2 0 1 7 - 1 2 - 1 2 . Ċ Ġ* Ċ Ġ*/ Ċ class ĠAuth enticate Activity Ġ: ĠAppCompatActivity (), ĠAuth enticate Contract . View Ġ{ ĊĊĠĠĠ Ġoverride Ġvar Ġpresenter : ĠAuth enticate Contract . Presenter ? Ġ= Ġnull ĊĊĠĠĠ Ġ// ĠLife Ġcycle ĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ authenticate ) ĊĊĠĠĠĠĠĠĠ Ġval Ġkey guard Manager : ĠKey guard Manager Ġ= Ġget System Service ( Context . KEY GU ARD _ SERVICE ) Ġas ĠKey guard Manager ĊĊĠĠĠĠĠĠĠ ĠAuth enticate Presenter ( this , Ġkey guard Manager . is Device Secure , Ġkey guard Manager . is Key guard Secure ) ĊĠĠĠĠĠĠĠ Ġpresenter ?. subscribe () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġpresenter ?. dispose () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġpresenter ?. on Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠresultCode Ġ== ĠActivity . RESULT _ OK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Code Ġ== ĠC RED ENTIAL S _ REQUEST _ CODE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠMessages ĊĠĠĠ Ġoverride Ġfun Ġshow Not Secure ErrorMessage () Ġ{ ĊĠĠĠĠĠĠĠ Ġshow Toast ( getString ( R . string . device _ not _ sec ured )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshow Toast ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( this , Ġmessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠLogo ĊĠĠĠ Ġoverride Ġfun Ġhide Logo () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogo Iv . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Logo () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogo Iv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠInfo ĊĠĠĠ Ġoverride Ġfun Ġhide Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo Tv . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġinfo Tv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAuth enticate ĊĠĠĠ Ġoverride Ġfun Ġhide Authenticate () Ġ{ ĊĠĠĠĠĠĠĠ Ġauthenticate Tv . visibility Ġ= ĠView . GONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Authenticate () Ġ{ ĊĠĠĠĠĠĠĠ Ġauthenticate Tv . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠsetUp Authenticate Listener () Ġ{ ĊĠĠĠĠĠĠĠ Ġauthenticate Tv . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter ?. authenticate Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠCredentials ĊĠĠĠ Ġoverride Ġfun Ġgo To Confirm Device Credentials () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkey guard Manager : ĠKey guard Manager Ġ= Ġget System Service ( Context . KEY GU ARD _ SERVICE ) Ġas ĠKey guard Manager ĊĠĠĠĠĠĠĠ Ġval Ġcredentials Intent Ġ= Ġkey guard Manager . create Confirm Device Credential Intent ("", Ġ"") ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( credentials Intent , ĠC RED ENTIAL S _ REQUEST _ CODE ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAlbum s ĊĠĠĠ Ġoverride Ġfun Ġgo To Album s () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgo To Album s Intent Ġ= ĠIntent ( this , ĠAlbum s Activity :: class . java ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( goTo Album s Intent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠC RED ENTIAL S _ REQUEST _ CODE Ġ= Ġ 2 3 5 7 ĊĠĠĠ Ġ} Ċ } Ċ