package Ġcom . cad ab ra . social login . simple Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . support . v 7 . app . AppCompatActivity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . util . Log Ċ import Ġcom . cad ab ra . social login . Login Listener Ċ import Ġcom . cad ab ra . social login . Social Login Ċ import Ġcom . twitter . sdk . android . core . Twitter AuthToken Ċ import Ġkotlinx . android . synt hetic . main . activity _ custom _ view .* Ċ Ċ class ĠCustom View Listeners Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ custom _ view ) ĊĊĠĠĠĠĠĠĠ Ġcheck Is Authorized () ĊĠĠĠĠĠĠĠ Ġset Listeners () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcheck Is Authorized () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Social Login . is Google Authorized ( this )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Google ( Social Login . get Google Token ( this )) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Social Login . is Facebook Authorized ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Facebook ( Social Login . get Facebook Token ()) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( Social Login . is Twitter Authorized ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Twitter ( Social Login . get Twitter AuthToken ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġset Listeners () Ġ{ ĊĠĠĠĠĠĠĠ ĠSocial Login . set Google Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgoogle Custom , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠLogin Listener < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Google ( token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail Google ( throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠSocial Login . set Facebook Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfacebook Custom , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠLogin Listener < String > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( token : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Facebook ( token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail Facebook ( throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠSocial Login . set Twitter Listener ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtwitter Custom , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠLogin Listener < Twitter AuthToken > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( token : ĠTwitter AuthToken ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauthorize Twitter ( token ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonError ( throwable : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfail Twitter ( throwable ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfail Twitter ( it : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġit . message ) ĊĠĠĠĠĠĠĠ Ġtwitter Status . text Ġ= ĠgetString ( R . string . fail ) ĊĠĠĠĠĠĠĠ Ġtwitter Token . text Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtwitter Secret . text Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauthorize Twitter ( it : ĠTwitter AuthToken ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġ" twitter Ġtoken : Ġ${ it . token }, Ġsecret : Ġ${ it . secret }") ĊĠĠĠĠĠĠĠ Ġtwitter Status . text Ġ= ĠgetString ( R . string . success ) ĊĠĠĠĠĠĠĠ Ġtwitter Token . text Ġ= Ġit . token ĊĠĠĠĠĠĠĠ Ġtwitter Secret . text Ġ= Ġit . secret ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfail Facebook ( it : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġit . message ) ĊĠĠĠĠĠĠĠ Ġfacebook Status . text Ġ= ĠgetString ( R . string . fail ) ĊĠĠĠĠĠĠĠ Ġfacebook Token . text Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauthorize Facebook ( it : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġ" facebook Ġtoken : Ġ$ it ") ĊĠĠĠĠĠĠĠ Ġfacebook Status . text Ġ= ĠgetString ( R . string . success ) ĊĠĠĠĠĠĠĠ Ġfacebook Token . text Ġ= Ġit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġfail Google ( it : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġit . message ) ĊĠĠĠĠĠĠĠ Ġgoogle Status . text Ġ= ĠgetString ( R . string . fail ) ĊĠĠĠĠĠĠĠ Ġgoogle Token . text Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġauthorize Google ( it : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLog . d ( this . local ClassName , Ġ" google Ġtoken : Ġ$ it ") ĊĠĠĠĠĠĠĠ Ġgoogle Status . text Ġ= ĠgetString ( R . string . success ) ĊĠĠĠĠĠĠĠ Ġgoogle Token . text Ġ= Ġit ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġdata : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ ĠSocial Login . check Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ