package Ġcom . co zo . co z om vp . authentication Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . view . View Ċ import Ġcom . co zo . co z om vp . R Ċ import Ġcom . co zo . co z om vp . main activity . MainActivity Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Account Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Client Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Options Ċ import Ġcom . google . android . gms . tasks . Task Ċ import Ġcom . h ann es dor fm ann . mos by 3 . mvp . M vp Activity Ċ import Ġkotlinx . android . synt hetic . main . activity _ auth .* Ċ import Ġorg . jetbrains . ank o . toast Ċ Ċ class ĠAuth Activity Ġ: ĠM vp Activity < Auth View , ĠAuth Presenter >(), ĠAuth View Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Google SignIn Client : ĠGoogle SignIn Client ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtask : ĠTask < Google SignIn Account > ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Presenter (): ĠAuth Presenter Ġ= ĠAuth Presenter () ĊĊĠĠĠ Ġoverride Ġfun Ġon Back Pressed () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ auth ) ĊĊĠĠĠĠĠĠĠ Ġval Ġg so Ġ= ĠGoogle SignIn Options . Builder ( Google SignIn Options . DEFAULT _ SIGN _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. requestId Token ( getString ( R . string . default _ web _ client _ id )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Email () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġm Google SignIn Client Ġ= ĠGoogle SignIn . getClient ( this , Ġg so ) ĊĊĠĠĠĠĠĠĠ Ġauth Button . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠphoneNumber Ġ= ĠphoneNumber EditText . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( phoneNumber Ġ!= Ġ"") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . request Auth ( phoneNumber ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse { ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġshow Invalid Number () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . VISIBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġsub Title Text . text Ġ= Ġ" We 're Ġsorry , Ġa Ġproblem Ġoccurred . ĠPlease Ġtry Ġagain " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Invalid Number () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġsub Title Text . text Ġ= Ġ" Invalid ĠNumber . ĠPlease Ġtry Ġagain " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Authentication Fail () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġsub Title Text . text Ġ= Ġ" Authentication ĠFailed . ĠPlease Ġtry Ġagain " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Link Fail () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġtitle Text . text Ġ= Ġ" Tell Ġus Ġwho Ġyou Ġare " ĊĠĠĠĠĠĠĠ Ġsub Title Text . text Ġ= Ġ" We Ġneed Ġyou Ġto Ġchoose Ġa Ġgoogle Ġaccount Ġfor Ġsafety Ġreasons . ĠPlease Ġtry Ġagain " ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow MainActivity () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactivity Intent Ġ= ĠIntent Ġ( this , MainActivity :: class . java ) ĊĠĠĠĠĠĠĠ Ġactivity Intent . putExtra (" IS _ FIRST _ TIME _ LOG GED ", Ġtrue ) ĊĠĠĠĠĠĠĠ ĠstartActivity ( activity Intent ) ĊĠĠĠĠĠĠĠ Ġfinish () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Log Off Activity () Ġ{ ĊĠĠĠĠĠĠĠ ĠprogressBar . visibility Ġ= ĠView . IN VISIBLE ĊĠĠĠĠĠĠĠ Ġsub Title Text . text Ġ= Ġ" you 're Ġlogged Ġoff " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart Link With Google () Ġ{ ĊĠĠĠĠĠĠĠ Ġsign In () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġpop Up View For Enter Sms Code () Ġ{ ĊĠĠĠĠĠĠĠ Ġ// har ded - coded Ġ- Ġenter Ġfrom Ġuser Ġlater ĊĠĠĠĠĠĠĠ Ġpresenter . on Sms Code Entered (" 1 2 3 4 5 6 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsign In () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsign In Intent Ġ= Ġm Google SignIn Client . signIn Intent ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( signIn Intent , ĠRC _ SIGN _ IN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublic Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠResult Ġreturned Ġfrom Ġlaunch ing Ġthe ĠIntent Ġfrom ĠGoogle SignIn Api . get SignIn Intent (... ); ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠRC _ SIGN _ IN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask Ġ= ĠGoogle SignIn . get Signed In Account From Intent ( data ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . request Link With Google ( task ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast (" NÃ£o Ġfuncion a Ġass im ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠRC _ SIGN _ IN : ĠInt Ġ= Ġ 1 2 3 ĊĠĠĠ Ġ} Ċ } Ċ