package Ġcom . map swith me . maps . auth Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . app . Dialog Ċ import Ġandroid . content . DialogInterface Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . text . TextUtils Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . view . Window Ċ import Ġandroid . widget . CheckBox Ċ import Ġandroid . widget . Compound Button Ċ import Ġandroidx . annotation . Id Res Ċ import Ġcom . facebook . Callback Manager Ċ import Ġcom . facebook . Facebook Callback Ċ import Ġcom . facebook . Facebook Exception Ċ import Ġcom . facebook . login . Login Manager Ċ import Ġcom . facebook . login . Login Result Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Client Ċ import Ġcom . google . android . gms . auth . api . signin . Google SignIn Options Ċ import Ġcom . map swith me . maps . Framework Ċ import Ġcom . map swith me . maps . Framework . Auth TokenType Ċ import Ġcom . map swith me . maps . Private Variables Ċ import Ġcom . map swith me . maps . R Ċ import Ġcom . map swith me . maps . auth . Social Auth Dialog Fragment Ċ import Ġcom . map swith me . maps . base . Base M wm Dialog Fragment Ċ import Ġcom . map swith me . util . Ui Utils Ċ import Ġcom . map swith me . util . log . LoggerFactory Ċ import Ġcom . map swith me . util . statistics . Statistics Ċ import Ġjava . lang . ref . Weak Reference Ċ import Ġjava . util .* Ċ Ċ class ĠSocial Auth Dialog Fragment Ġ: ĠBase M wm Dialog Fragment () Ġ{ ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Google SignIn Client : ĠGoogle SignIn Client ĊĠĠĠ Ġprivate Ġval Ġm Facebook Callback Manager Ġ= ĠCallback Manager . Factory . create () ĊĠĠĠ Ġprivate Ġval Ġm Token Handlers Ġ= ĠArrays . asList ( ĊĠĠĠĠĠĠĠ ĠFacebook Token Handler (), ĠGoogle Token Handler (), ĠPhone Token Handler () ĊĠĠĠ Ġ) ĊĠĠĠ Ġprivate Ġvar ĠmCurrent Token Handler : ĠToken Handler ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġval Ġm Phone ClickListener Ġ= ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ġ{ Ġv : ĠView ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPhone Auth Activity . Companion . start For Result ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Google ClickListener Ġ= ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= Ġm Google SignIn Client . signIn Intent ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity For Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . REQ _ CODE _ GOOGLE _ SIGN _ IN ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġval Ġm Facebook ClickListener Ġ= ĊĠĠĠĠĠĠĠ ĠView . OnClickListener Ġ{ Ġv : ĠView ? Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlm Ġ= ĠLogin Manager . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlm . log In With Read Permissions ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis @ Social Auth Dialog Fragment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . FACE BOOK _ PERMISSION S ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlm . register Callback ( m Facebook Callback Manager , ĠFB Callback ( this @ Social Auth Dialog Fragment )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Privacy Policy Check : ĠCheckBox ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Term Of Use Check : ĠCheckBox ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Promo Check : ĠCheckBox ĊĠĠĠ Ġprivate Ġvar Ġm Target Callback : ĠTarget Fragment Callback ? Ġ= Ġnull ĊĠĠĠ Ġoverride Ġfun ĠonCreate Dialog ( savedInstanceState : ĠBundle ?): ĠDialog Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Ġ= Ġsuper . onCreate Dialog ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġres . request Window Feature ( Window . FEATURE _ NO _ TITLE ) ĊĠĠĠĠĠĠĠ Ġreturn Ġres ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Target Callback () ĊĠĠĠĠĠĠĠ Ġval Ġg so Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGoogle SignIn Options . Builder ( Google SignIn Options . DEFAULT _ SIGN _ IN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. requestId Token ( Private Variables . google Web ClientId ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. request Email () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġm Google SignIn Client Ġ= ĠGoogle SignIn . getClient ( activity !! , Ġg so ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Target Callback () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Target Callback Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent Fragment Ġas ĠTarget Fragment Callback ? ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass CastException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠClass CastException (" Caller Ġmust Ġimplement ĠTarget Fragment Callback Ġinterface !") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinflater . inflate ( R . layout . fragment _ auth _ passport _ dialog , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġset Login Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . google _ button , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Google ClickListener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Login Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . facebook _ button , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Facebook ClickListener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Login Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . phone _ button , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Phone ClickListener ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġm Promo Check Ġ= Ġview . findViewById ( R . id . news Check ) ĊĠĠĠĠĠĠĠ Ġm Privacy Policy Check Ġ= Ġview . findViewById ( R . id . privacy Policy Check ) ĊĠĠĠĠĠĠĠ Ġm Privacy Policy Check . setOn Checked ChangeListener Ġ{ Ġbutton View : ĠCompound Button ?, Ġis Checked : ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Button Availability ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview , Ġis Checked Ġ&& Ġm Term Of Use Check . isChecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . google _ button , ĠR . id . facebook _ button , ĠR . id . phone _ button ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġm Term Of Use Check Ġ= Ġview . findViewById ( R . id . term Of Use Check ) ĊĠĠĠĠĠĠĠ Ġm Term Of Use Check . setOn Checked ChangeListener Ġ{ Ġbutton View : ĠCompound Button ?, Ġis Checked : ĠBoolean Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Button Availability ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġview , Ġis Checked Ġ&& Ġm Privacy Policy Check . isChecked , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . google _ button , ĠR . id . facebook _ button , ĠR . id . phone _ button ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ ĠUi Utils . link ify View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĠR . id . privacy Policy Link , ĠR . string . sign _ agree _ pp _ gd pr , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFramework . native Get Privacy Policy Link () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ ĠUi Utils . link ify View ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , ĠR . id . term Of Use Link , ĠR . string . sign _ agree _ to f _ gd pr , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFramework . native Get Terms Of Use Link () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġset Button Availability ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġview , Ġfalse , ĠR . id . google _ button , ĠR . id . facebook _ button , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠR . id . phone _ button ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ ĠStatistics . INSTANCE . track Event ( Statistics . Event Name . U GC _ AUTH _ SHO WN ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġsend Result ( ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , Ġsocial Token : ĠString ?, ĊĠĠĠĠĠĠĠ Ġ@ Auth TokenType Ġtype : ĠInt , Ġerror : ĠString ?, ĊĠĠĠĠĠĠĠ Ġis Cancel : ĠBoolean ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( m Target Callback Ġ== Ġnull Ġ|| Ġ! m Target Callback !!. is Target Added ) Ġreturn ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠIntent () ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( Constants . EXTRA _ SO CIAL _ TOKEN , Ġsocial Token ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( Constants . EXTRA _ TOKEN _ TYPE , Ġtype ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( Constants . EXTRA _ AUTH _ ERROR , Ġerror ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( Constants . EXTRA _ IS _ CANCEL , Ġis Cancel ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . EXTRA _ PRIV ACY _ POLICY _ ACCEPT ED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Privacy Policy Check . isChecked ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . EXTRA _ TERMS _ OF _ USE _ ACCEPT ED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Term Of Use Check . isChecked ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġdata . putExtra ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠConstants . EXTRA _ PRO MO _ ACCEPT ED , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Promo Check . isChecked ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġm Target Callback !!. on Target Fragment Result ( result Code , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠIntent ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġm Facebook Callback Manager . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ!= ĠActivity . RESULT _ OK Ġ|| Ġdata Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġfor Ġ( handler Ġin Ġm Token Handlers ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( handler . check Token ( request Code , Ġdata )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmCurrent Token Handler Ġ= Ġhandler ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( m Current Token Handler Ġ== Ġnull ) Ġreturn ĊĠĠĠĠĠĠĠ Ġdismiss Allow ing State Loss () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Dismiss ( dialog : ĠDialog Interface ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠresultCode : ĠInt ĊĠĠĠĠĠĠĠ Ġval Ġtoken : ĠString ? ĊĠĠĠĠĠĠĠ Ġ@ Auth TokenType Ġval Ġtype : ĠInt ĊĠĠĠĠĠĠĠ Ġif Ġ( m Current Token Handler Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠresultCode Ġ= ĠActivity . RESULT _ C ANCE LED ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠFramework . SO CIAL _ TOKEN _ INVALID ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠresultCode Ġ= ĠActivity . RESULT _ OK ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoken Ġ= ĠmCurrent Token Handler !!. token ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠmCurrent Token Handler !!. type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( TextUtils . isEmpty ( token )) Ġthrow ĠAssertionError (" Token Ġmust Ġbe Ġnon - null Ġwhile Ġtoken Ġhandler Ġis Ġnon - null !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( type Ġ== ĠFramework . SO CIAL _ TOKEN _ INVALID ) Ġthrow ĠAssertionError (" Token Ġtype Ġmust Ġbe Ġnon - invalid Ġwhile Ġtoken Ġhandler Ġis Ġnon - null !") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġsend Result ( result Code , Ġtoken , Ġtype , Ġnull , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġsuper . on Dismiss ( dialog ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠFB Callback ( fragment : ĠSocial Auth Dialog Fragment ) Ġ: ĊĠĠĠĠĠĠĠ ĠFacebook Callback < Login Result ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġm Fragment Ref : ĠWeak Reference < Social Auth Dialog Fragment > ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( login Result : ĠLogin Result ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStatistics . INSTANCE . track U GC External Auth Suc ceed ( Statistics . Param Value . FACE BOOK ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . d ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Success " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Cancel () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . w ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" on Cancel " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Empty Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity . RESULT _ C ANCE LED , ĠFramework . SO CIAL _ TOKEN _ FACE BOOK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull , Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( error : ĠFacebook Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . e ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTAG , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" onError ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Empty Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠActivity . RESULT _ C ANCE LED , ĠFramework . SO CIAL _ TOKEN _ FACE BOOK , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror ?. message , Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġsend Empty Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠresultCode : ĠInt , Ġ@ Auth TokenType Ġtype : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror : ĠString ?, Ġis Cancel : ĠBoolean ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfragment Ġ= Ġm Fragment Ref . get () Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfragment . send Result ( result Code , Ġnull , Ġtype , Ġerror , Ġis Cancel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Fragment Ref Ġ= ĠWeak Reference ( fragment ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLoggerFactory . INSTANCE . getLogger ( LoggerFactory . Type . MISC ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠTAG Ġ= ĠSocial Auth Dialog Fragment :: class . java . simple Name ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġset Login Button ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot : ĠView , Ġ@ Id Res Ġid : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġclick Listener : ĠView . OnClickListener ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġroot . findViewById < View >( id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . setOnClickListener ( click Listener ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġset Button Availability ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot : ĠView , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġavailable : ĠBoolean , Ġ@ Id Res Ġvar arg Ġids : ĠInt ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( id Ġin Ġids ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbutton Ġ= Ġroot . findViewById < View >( id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbutton . isEnabled Ġ= Ġavailable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }