package Ġcom . hu awei . auth services uper dem oo . weibo Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . appcompat . widget . AppCompat Button Ċ import Ġcom . hu awei . ag connect . auth . AG Connect Auth Ċ import Ġcom . hu awei . ag connect . auth . Wei bo Auth Provider Ċ import Ġcom . hu awei . auth services uper dem oo . R Ċ import Ġcom . hu awei . auth services uper dem oo . S INA _ APP _ KEY Ċ import Ġcom . hu awei . auth services uper dem oo . S INA _ RE DIRECT _ URL Ċ import Ġcom . hu awei . auth services uper dem oo . S INA _ SCOPE Ċ import Ġcom . s ina . weibo . sdk . Wb Sdk Ċ import Ġcom . s ina . weibo . sdk . auth .* Ċ import Ġcom . s ina . weibo . sdk . auth . sso . S so Handler ĊĊ Ċ class ĠWe i bo Sign Activity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġjava Class . simple Name ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlogin With Wei bo Btn Ġ: ĠAppCompat Button ĊĊĠĠĠ Ġprivate Ġvar Ġu Id : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġprivate Ġvar Ġm S so Handler : ĠS so Handler ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ weibo ) ĊĊĠĠĠĠĠĠĠ Ġlogin With Wei bo Btn Ġ= ĠfindViewById ( R . id . login With Wei bo Btn ) ĊĊĠĠĠĠĠĠĠ ĠW b Sdk . install ( this , ĠAuth Info ( this , ĠS INA _ APP _ KEY , ĠS INA _ RE DIRECT _ URL , ĠS INA _ SCOPE )) ĊĠĠĠĠĠĠĠ Ġm S so Handler Ġ= ĠS so Handler ( this @ Wei bo Sign Activity ) ĊĊĠĠĠĠĠĠĠ Ġinit View () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġlaunch ( activity : ĠAppCompatActivity ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( Intent ( this , ĠWe i bo Sign Activity :: class . java )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit View (){ ĊĊĠĠĠĠĠĠĠ Ġlogin With Wei bo Btn . setOnClickListener { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm S so Handler !!. authorize Web ( Self Wb Auth Listener ( this )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠSelf Wb Auth Listener ( activity : ĠActivity ) Ġ: ĠW b Auth Listener Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠmContext Ġ= Ġactivity ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠonSuccess ( token : ĠO auth 2 AccessToken ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠmContext . run On Ui Thread ( Runnable Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( token . is Session Valid ) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġsave ĠToken Ġto ĠSharedPreferences ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAccess Token Keeper . write AccessToken ( mContext , Ġtoken ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . we ib os dk _ demo _ toast _ auth _ success , ĠToast . LENGTH _ SHORT ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcredential Ġ= ĠWe i bo Auth Provider . credential With Token ( token . token , Ġtoken . uid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠAG Connect Auth . getInstance (). signIn ( credential ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Success Listener Ġ{ Ġsign In Result Ġ-> Ġ// ĠonSuccess ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġsign In Result . user ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , Ġuser . uid , ĠToast . LENGTH _ LONG ). show () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add On Failure Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġon Fail ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcancel () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠR . string . we ib os dk _ demo _ toast _ auth _ c anceled , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( errorMessage : ĠW b Connect ErrorMessage ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( mContext , ĠerrorMessage . errorMessage , ĠToast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Activity Result ( ĊĠĠĠĠĠĠĠ Ġrequest Code : ĠInt , ĊĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠ Ġdata : ĠIntent ? ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Activity Result ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠĠĠĠĠ Ġm S so Handler ?. authorize CallBack ( request Code , ĠresultCode , Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ