package Ġcom . be yond identity . auth enticator . sdk . android Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Application Ċ import Ġandroid . app . Application . Activity Lifecycle Callbacks Ċ import Ġandroid . app . Key guard Manager Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġcom . be yond identity . auth enticator . sdk . android . embedded . EMB ED DED _ KEY GU ARD _ REQUEST Ċ import Ġcom . be yond identity . embedded . embedded ui . ui . Embedded Ui Config Ċ import Ġcom . be yond identity . embedded . embedded ui . ui . Embedded Ui Config . Authentication Data . Conf idential Client Data Ċ import Ġcom . be yond identity . embedded . embedded ui . ui . Embedded Ui Config . Authentication Data . Public Client Data Ċ import Ġcom . be yond identity . embedded . embedded ui . ui . Embedded Ui Config . Config Ċ import Ġcom . be yond identity . embedded . sdk . Embedded Sdk Ċ import Ġtim ber . log . Tim ber Ċ Ċ class ĠApp Ġ: ĠApplication (), ĠActivity Lifecycle Callbacks Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġcurrent Activity : ĠActivity ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġval Ġpublic Auth Data Ġ= ĠPublic Client Data ( ĊĠĠĠĠĠĠĠ ĠclientId Ġ= ĠBuild Config . BUILD _ CONFIG _ BI _ DEMO _ PUBLIC _ CLIENT _ ID , ĊĠĠĠĠĠĠĠ Ġredirect Uri Ġ= Ġ"${ Build Config . BUILD _ CONFIG _ BE Y OND _ IDENTITY _ SDK _ SAMPLE APP _ SCHEME } :// ", ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġval Ġconf Auth Data Ġ= ĠConf idential Client Data ( ĊĠĠĠĠĠĠĠ ĠclientId Ġ= ĠBuild Config . BUILD _ CONFIG _ BI _ DEMO _ CONF IDENT IAL _ CLIENT _ ID , ĊĠĠĠĠĠĠĠ Ġredirect Uri Ġ= Ġ"${ Build Config . BUILD _ CONFIG _ BE Y OND _ IDENTITY _ SDK _ SAMPLE APP _ SCHEME } :// ", ĊĠĠĠĠĠĠĠ Ġscope Ġ= Ġ" openid ", ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate () ĊĠĠĠĠĠĠĠ ĠTim ber . plant ( Tim ber . Debug Tree ()) ĊĊĠĠĠĠĠĠĠ ĠEmbedded Sdk . init ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠclientId Ġ= ĠBuild Config . BUILD _ CONFIG _ BI _ DEMO _ CONF IDENT IAL _ CLIENT _ ID , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey guard Prompt Ġ= Ġkey guard Prompt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger Ġ= Ġ{ Ġlog Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTim ber . d ( log ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠEmbedded Ui Config . config Ġ= ĠConfig ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapp DisplayName Ġ= Ġ" Ac me ĠApp ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsupport Url Or Email Ġ= Ġ" https :// www . be yond identity . com / support ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthentication Data Ġ= Ġconf Auth Data , ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġregister Activity Lifecycle Callbacks ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġprivate Ġval Ġkey guard Prompt : Ġ(( Boolean , ĠException ) Ġ-> ĠUnit ) Ġ-> ĠUnit Ġ= Ġ{ Ġanswer Ġ-> ĊĠĠĠĠĠĠĠ Ġ( application Context ?. getSystem Service ( Context . KEY GU ARD _ SERVICE ) Ġas ? ĠKey guard Manager ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . create Confirm Device Credential Intent (" Check ", Ġ" Enter Ġyour Ġpin Ġor Ġpassword ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ? . let Ġ{ Ġintent Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Activity ?. startActivity For Result ( intent , ĠE MB ED DED _ KEY GU ARD _ REQUEST ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġanswer ( false , ĠIllegalStateException (" Can Ġnot Ġauthenticate Ġwith ĠKey Guard ! ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Created ( activity : ĠActivity , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Setting Ġcurrent Ġactivity Ġto Ġ${ activity . local ClassName }") ĊĠĠĠĠĠĠĠ Ġcurrent Activity Ġ= Ġactivity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Started ( activity : ĠActivity ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Res umed ( activity : ĠActivity ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Paused ( activity : ĠActivity ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Stopped ( activity : ĠActivity ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Save InstanceState ( activity : ĠActivity , Ġout State : ĠBundle ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Destroyed ( activity : ĠActivity ) Ġ{ ĊĠĠĠĠĠĠĠ ĠTim ber . d (" Remove Ġcurrent Ġactivity Ġ${ activity . local ClassName }") ĊĠĠĠĠĠĠĠ Ġcurrent Activity Ġ= Ġnull ĊĠĠĠ Ġ} Ċ }