package Ġcom . mand ar ine . target List . features . root Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroidx . fragment . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroidx . navigation . fragment . find Nav Controller Ċ import Ġcom . firebase . ui . auth . Auth Method Picker Layout Ċ import Ġcom . firebase . ui . auth . Auth UI Ċ import Ġcom . firebase . ui . auth . Id p Response Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . mand ar ine . target List . R Ċ Ċ class ĠMain Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġauth : ĠFirebase Auth ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Auth State Listener : ĠFirebase Auth . Auth State Listener ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ main , Ġcontainer , Ġfalse ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġsign In () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġauth . add Auth State Listener ( m Auth State Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Pause () ĊĠĠĠĠĠĠĠ Ġauth . remove Auth State Listener ( m Auth State Listener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠSIGN _ IN _ RESULT _ CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĠId p Response . from Result Intent ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" some ", Ġ" Successfully Ġsigned Ġin Ġuser Ġ${ Firebase Auth . getInstance (). currentUser ?. displayName }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" some ", Ġ" Sign Ġin Ġun successful Ġ${ response ?. error ?. errorCode }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsign In () Ġ{ ĊĠĠĠĠĠĠĠ Ġauth Ġ= ĠFirebase Auth . getInstance () ĊĠĠĠĠĠĠĠ Ġm Auth State Listener Ġ= ĠFirebase Auth . Auth State Listener Ġ{ Ġfirebase Auth Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( firebase Auth . currentUser Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfind Nav Controller (). navigate ( R . id . show _ goals ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch SignIn Flow () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch SignIn Flow () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġproviders Ġ= Ġarray ListOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuth UI . Id p Config . Email Builder (). build (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuth UI . Id p Config . Google Builder (). build () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġauth Layout Ġ= ĠAuth Method Picker Layout . Builder ( R . layout . page _ sign _ in ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Google Button Id ( R . id . google Button View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Email Button Id ( R . id . email Button View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set T os And Privacy Policy Id ( R . id . privacy View ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuth UI . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. create SignIn Intent Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Auth Method Picker Layout ( auth Layout ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setIs Smart Lock Enabled ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Available Providers ( providers ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Theme ( R . style . App Theme _ No ActionBar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set T os And Privacy Policy Urls ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / m new live / make - it ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// github . com / m new live / make - it " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSIGN _ IN _ RESULT _ CODE ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSIGN _ IN _ RESULT _ CODE Ġ= Ġ 1 0 0 1 ĊĠĠĠ Ġ} Ċ } Ċ