package Ġnet . squ anch y . on boarding . account Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġio . reactivex . android . schedul ers . Android Schedulers Ċ import Ġkotlinx . android . synt hetic . main . activity _ on boarding _ account . on boarding Content Root Ċ import Ġkotlinx . android . synt hetic . main . activity _ on boarding _ account . on boarding SignIn Button Ċ import Ġkotlinx . android . synt hetic . main . activity _ on boarding _ account . on boarding Skip Ċ import Ġnet . squ anch y . R Ċ import Ġnet . squ anch y . navigation . Navigator Ċ import Ġnet . squ anch y . on boarding . On boarding Ċ import Ġnet . squ anch y . on boarding . On boarding Page Ċ import Ġnet . squ anch y . signin . SignIn Service Ċ import Ġnet . squ anch y . support . view . enable Light NavigationBar Ċ import Ġjava . util . concurrent . TimeUnit Ċ Ċ class ĠAccount On boarding Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġon boarding : ĠOn boarding ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġnavigator : ĠNavigator ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsign In Service : ĠSign In Service ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcomponent Ġ= Ġaccount On boarding Component ( this ) ĊĠĠĠĠĠĠĠ Ġon boarding Ġ= Ġcomponent . on boarding () ĊĠĠĠĠĠĠĠ Ġnavigator Ġ= Ġcomponent . navigator () ĊĠĠĠĠĠĠĠ Ġsign In Service Ġ= Ġcomponent . signIn Service () ĊĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ on boarding _ account ) ĊĠĠĠĠĠĠĠ Ġenable Light NavigationBar ( this ) ĊĊĠĠĠĠĠĠĠ Ġon boarding Skip . setOnClickListener Ġ{ Ġmark Page As Seen And Finish () Ġ} ĊĠĠĠĠĠĠĠ Ġon boarding SignIn Button . setOnClickListener Ġ{ Ġsign In To Google () Ġ} ĊĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ C ANCE LED ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onStart () ĊĊĠĠĠĠĠĠĠ Ġdisable Ui () ĊĠĠĠĠĠĠĠ Ġsign In Service . is Signed In To Google () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. observe On ( Android Schedulers . main Thread ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. timeout ( SIGN IN _ STATE _ CHECK _ TIMEOUT _ SECONDS , ĠTimeUnit . SECONDS ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. subscribe ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġsigned In Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( signed In ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmark Page As Seen And Finish () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ui () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ{ Ġenable Ui () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsign In To Google () Ġ{ ĊĠĠĠĠĠĠĠ Ġdisable Ui () ĊĠĠĠĠĠĠĠ Ġnavigator . to SignIn For Result ( REQUEST _ CODE _ SIGN IN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdisable Ui () Ġ{ ĊĠĠĠĠĠĠĠ Ġon boarding Content Root . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġon boarding Content Root . alpha Ġ= ĠDISABLE D _ UI _ ALPHA ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ!= ĠREQUEST _ CODE _ SIGN IN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmark Page As Seen And Finish () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenable Ui () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmark Page As Seen And Finish () Ġ{ ĊĠĠĠĠĠĠĠ Ġon boarding . save Page Seen ( On boarding Page . ACCOUNT ) ĊĠĠĠĠĠĠĠ Ġset Result ( Activity . RESULT _ OK ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġenable Ui () Ġ{ ĊĠĠĠĠĠĠĠ Ġon boarding Content Root . isEnabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġon boarding Content Root . alpha Ġ= ĠENABLE D _ UI _ ALPHA ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠREQUEST _ CODE _ SIGN IN Ġ= Ġ 1 2 3 5 ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠSIGN IN _ STATE _ CHECK _ TIMEOUT _ SECONDS Ġ= Ġ 3 L ĊĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠDISABLE D _ UI _ ALPHA Ġ= Ġ. 5 4 f ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠENABLE D _ UI _ ALPHA Ġ= Ġ 1 f ĊĠĠĠ Ġ} Ċ } Ċ