package Ġcom . and rew . social . login . core . web Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġcom . and rew . social . login . core . ResponseType Ċ import Ġcom . and rew . social . login . core . Social Type Ċ import Ġcom . and rew . social . login . core . action . Social Login Action Ċ import Ġcom . and rew . social . login . core . exception . Social Login Exception Ċ import Ġcom . and rew . social . login . core . web . Web Activity Starter . B UNDLE _ CODE ĊĊ Ċ abstract Ġclass ĠBase Web Social Login Action ( ĊĠĠĠ Ġactivity : ĠActivity , ĊĠĠĠ Ġprivate Ġval Ġresponse Type : ĠResponse Type Ġ= ĠResponse Type . SERVER _ CODE Ċ ) Ġ: ĠSocial Login Action ( activity ) Ġ{ ĊĊĠĠĠ Ġabstract Ġval Ġsocial Type : ĠSocial Type ĊĊĠĠĠ Ġval Ġrequest Code : ĠInt Ġby Ġlazy Ġ{ Ġsocial Type . ordinal Ġ} ĊĊĠĠĠ Ġabstract Ġval Ġurl : ĠString ĊĊĠĠĠ Ġoverride Ġfun Ġlogin () Ġ{ ĊĠĠĠĠĠĠĠ ĠWeb Activity Starter . open Login Activity ( activity , Ġrequest Code , Ġurl , Ġsocial Type Ġ= Ġsocial Type , Ġresponse Type Ġ= Ġresponse Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Result ( request Code : ĠInt , ĠresultCode : ĠInt , Ġintent : ĠIntent ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( request Code Ġ!= Ġthis . request Code ) Ġreturn ĊĠĠĠĠĠĠĠ Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ OK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent ?. extras ?. getString ( B UNDLE _ CODE )?. let Ġ{ Ġcallback ?. on Success ( social Type , Ġresponse Type , Ġit ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( result Code Ġ== ĠActivity . RESULT _ C ANCE LED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback ?. onError ( Social Login Exception ( social Type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }