package Ġio . github . aman sh ura ik war . how m uch . ui . signin Ċ Ċ import Ġandroid . annotation . Suppress Lint Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġcom . google . android . material . sn ackbar . Snackbar Ċ import Ġandroid . util . Log Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . View .* Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . bump tech . glide . G lide Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Client Ċ import Ġdagger . Bind s Ċ import Ġdagger . Module Ċ import Ġdagger . Provides Ċ import Ġio . github . aman sh ura ik war . how m uch . R Ċ import Ġio . github . aman sh ura ik war . how m uch . base . di . Activity Context Ċ import Ġio . github . aman sh ura ik war . how m uch . base . ui . base . Base Fragment Ċ import Ġio . github . aman sh ura ik war . how m uch . base . util . Util ; Ċ import Ġio . github . aman sh ura ik war . how m uch . google sheet spro to col . api . Authentication Manager Ċ import Ġkotlinx . android . synt hetic . main . fragment _ sign _ in .* Ċ import Ġjavax . inject . Inject ĊĊ Ċ class ĠSign In Fragment ĊĠĠĠ Ġ: ĠBase Fragment < SignIn Contract . View , ĠSign In Contract . Presenter >(), ĠSign In Contract . View Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog Tag Ġ= ĠUtil . getTag ( this ) ĊĊĠĠĠ Ġ@ Inject ĊĠĠĠ Ġlateinit Ġvar Ġgoogle SignIn Client : ĠGoogle SignIn Client ĊĊĠĠĠ Ġ@ Suppress Lint (" Inf late Params ") ĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( in flater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĠsavedInstanceState : ĠBundle ?): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġinflater . inflate ( R . layout . fragment _ sign _ in , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon View Created ( view : ĠView , ĠsavedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on View Created ( view , ĠsavedInstanceState ) ĊĠĠĠĠĠĠĠ Ġinit () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġsign In Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on SignIn Btn Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġproceed Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Pro ceed Btn Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġedit Ib . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on Edit Btn Clicked () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġhorizontal Pb . max Ġ= Ġ 1 0 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĊĠĠĠĠĠĠĠ ĠLog . d ( log Tag , Ġ" on Activity Result : Ġcalled ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ== ĠAuthentication Manager . CODE _ SIGN _ IN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresenter . on SignIn Result ( Google SignIn . get Signed In Account From Intent ( data ). is Successful ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitiate SignIn () Ġ{ ĊĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle SignIn Client . signIn Intent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication Manager . CODE _ SIGN _ IN ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinitiate Sign Out () Ġ{ ĊĠĠĠĠĠĠĠ Ġgoogle SignIn Client . sign Out () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow SignIn Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġtitle Tv . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġdescription Tv . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġdummy V . visibility Ġ= ĠVIS IBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide SignIn Btn () Ġ{ ĊĠĠĠĠĠĠĠ Ġsign In Btn . visibility Ġ= ĠG ONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow SignIn Btn () Ġ{ ĊĠĠĠĠĠĠĠ Ġsign In Btn . visibility Ġ= ĠVIS IBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Pro ceed Btn () Ġ{ ĊĠĠĠĠĠĠĠ Ġproceed Btn . visibility Ġ= ĠG ONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress Lint (" SetText I 1 8 n ") ĊĠĠĠ Ġoverride Ġfun Ġshow Pro ceed Btn ( name : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġproceed Btn . text Ġ= Ġ" Continue Ġas Ġ$ name " ĊĠĠĠĠĠĠĠ Ġproceed Btn . visibility Ġ= ĠVIS IBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Google Account Edit () Ġ{ ĊĠĠĠĠĠĠĠ Ġedit Ib . visibility Ġ= ĠG ONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Google Account Edit () Ġ{ ĊĠĠĠĠĠĠĠ Ġedit Ib . visibility Ġ= ĠVIS IBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Toast ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠToast . makeText ( activity , Ġmessage , ĠToast . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Snackbar ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSn ackbar . make ( parent Cl , Ġmessage , ĠSn ackbar . LENGTH _ SHORT ). show () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Google UserInfo ( name : ĠString , Ġphoto Url : ĠString , Ġemail : ĠString ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprofile Pic Cv . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġname Tv . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġemail Tv . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġedit Ib . visibility Ġ= ĠVIS IBLE ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( activity ). load ( photoUrl ). into ( profile Pic Iv ) ĊĠĠĠĠĠĠĠ Ġname Tv . text Ġ= Ġname ĊĠĠĠĠĠĠĠ Ġemail Tv . text Ġ= Ġemail ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Google UserInfo () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprofile Pic Cv . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠ Ġname Tv . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠ Ġemail Tv . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠ Ġedit Ib . visibility Ġ= ĠG ONE ĊĊĠĠĠĠĠĠĠ ĠG lide . with ( activity ). clear ( profile Pic Iv ) ĊĠĠĠĠĠĠĠ Ġname Tv . text Ġ Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġemail Tv . text Ġ Ġ= Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Loading ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Pb . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġloading Pb S cri m . visibility Ġ= ĠVIS IBLE ĊĠĠĠĠĠĠĠ Ġhorizontal Pb . visibility Ġ= ĠVIS IBLE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhide Loading () Ġ{ ĊĠĠĠĠĠĠĠ Ġloading Pb . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠ Ġloading Pb S cri m . visibility Ġ= ĠG ONE ĊĠĠĠĠĠĠĠ Ġhorizontal Pb . visibility Ġ= ĠG ONE ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġshow Error ( message : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġdo Ġnothing ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġabstract Ġclass ĠDi Module Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Bind s ĊĠĠĠĠĠĠĠ Ġabstract Ġfun Ġpresenter ( presenter : ĠSign In Contract . SignIn Presenter ): ĠSign In Contract . Presenter ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Module ĊĠĠĠ Ġclass ĠDi Provides Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Provides ĊĠĠĠĠĠĠĠ Ġ@ Activity Context ĊĠĠĠĠĠĠĠ Ġfun Ġactivity ( a : ĠSign In Fragment ): ĠAppCompatActivity Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġa . activity ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }