/* Ċ Ġ* ĠCopyright Ġ( c ) ĠGrab ĠT axi ĠHold ings ĠP TE ĠL TD Ġ( GR AB ) Ċ Ġ* Ċ Ġ* ĠThis Ġsource Ġcode Ġis Ġlicensed Ġunder Ġthe ĠMIT Ġlicense Ġfound Ġin Ġthe Ċ Ġ* ĠLICENSE Ġfile Ġin Ġthe Ġroot Ġdirectory Ġof Ġthis Ġsource Ġtree . Ċ Ġ* Ċ Ġ*/ Ċ Ċ package Ġcom . grab . partner . sdk Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . content . Context Ċ import Ġcom . grab . partner . sdk . models . Id Token Info Ċ import Ġcom . grab . partner . sdk . models . Login Session Ċ Ċ interface ĠGrab Id Partner Protocol Ġ{ ĊĠĠĠ Ġ@ Deprecated ( message Ġ= Ġ" Usage s Ġof Ġthis ĠAPI Ġis Ġdeprecated ", Ġreplace With Ġ= ĠReplace With (" com . grab . partner . sdk . Grab Id Partner Protocol . initialize ( android . content . Context , Ġcom . grab . partner . sdk . Initialize Callback ) ")) ĊĠĠĠ Ġfun Ġinitialize ( context : ĠContext ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInitialize Ġthe ĠSDK Ġusing Ġapplication Ġcontext ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġinitialize ( context : ĠContext , Ġcallback : ĠInitialize Callback ? Ġ= Ġnull ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġlogin Session Ġobject . ĠThis Ġapi Ġwill Ġconstruct Ġthe Ġlogin Session Ġusing Ġthe Ġparameters Ġsupplied Ġin Ġthe ĠAndroid Manifest . xml Ġfile . ĊĠĠĠĠ Ġ* ĠNote : Ġcom . grab . partner . sdk . Grab Id Partner Protocol . initialize ( android . content . Context , Ġcom . grab . partner . sdk . Initialize Callback ) Ġshould Ġbe Ġinvoked Ġfirst . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Login Session ( callback : ĠLogin Session Callback ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGenerate Ġlogin Session Ġobject . ĠThis Ġapi Ġwill Ġconstruct Ġthe Ġlogin Session Ġobject Ġusing Ġthe Ġparameters Ġsupplied . ĊĠĠĠĠ Ġ* ĠNote : Ġcom . grab . partner . sdk . Grab Id Partner Protocol . initialize ( android . content . Context , Ġcom . grab . partner . sdk . Initialize Callback ) Ġshould Ġbe Ġinvoked Ġfirst . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġload Login Session ( state : ĠString , ĠclientId : ĠString , Ġredirect Uri : ĠString , Ġservice Discovery Url : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġscope : ĠString , Ġac r Values : ĠString ?, Ġrequest : ĠString ?, Ġlogin Hint : ĠString ?, Ġid Token Hint : ĠString ?, Ġcallback : ĠLogin Session Callback , Ġprompt : ĠString ? Ġ= Ġ"", Ġis Wrapper Flow : ĠBoolean Ġ= Ġfalse ) ĊĊĠĠĠ Ġ@ Deprecated ( message Ġ= Ġ" Usage s Ġof Ġthis ĠAPI Ġis Ġdeprecated ", Ġreplace With Ġ= ĠReplace With (" com . grab . partner . sdk . Grab Id Partner Protocol . login V 2 ")) ĊĠĠĠ Ġfun Ġlogin ( login Session : ĠLogin Session , Ġcontext : ĠContext , Ġcallback : ĠLogin Callback ) ĊĊĠĠĠ Ġ@ Deprecated ( message Ġ= Ġ" Usage s Ġof Ġthis ĠAPI Ġis Ġdeprecated ", Ġreplace With Ġ= ĠReplace With (" com . grab . partner . sdk . Grab Id Partner Protocol . login V 2 ")) ĊĠĠĠ Ġfun Ġlogin ( login Session : ĠLogin Session , Ġcontext : ĠContext , Ġcallback : ĠLogin Callback V 2 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStart Ġthe Ġlogin Ġprocess Ġusing ĠGrab Id Partner SDK . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlogin V 2 ( login Session : ĠLogin Session , Ġactivity : ĠActivity , Ġcallback : ĠLogin Callback V 2 ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAPI Ġto Ġget Ġtoken Ġusing Ġthe Ġcode Ġreceived Ġas Ġredirect Ġparameter . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġexchange Token ( login Session : ĠLogin Session , Ġredirect Url : ĠString , Ġcallback : ĠExchange Token Callback ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠValidate Ġexchange Token Ġtoken Ġis Ġvalid Ġusing Ġtoken Ġinfo Ġendpoint . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠgetId Token Info ( login Session : ĠLogin Session , Ġcallback : ĠGet Id Token Info Callback ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠClear Ġall Ġlogin Ġinformation Ġfrom Ġshared Ġpreference Ġand ĠAndroid Ġkeystore . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġlogout ( login Session : ĠLogin Session , Ġcallback : ĠLogout Callback ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠUn subscribe Ġall Ġobservable Ġsubscription Ġand Ġto Ġclear Ġother Ġobjects Ġcreated Ġduring Ġthe Ġlogin Ġprocess . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġteardown () ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠValidate Ġif Ġaccess Ġtoken Ġis Ġstill Ġvalid . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisValid AccessToken ( login Session : ĠLogin Session ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠValidate Ġwhether Ġid Ġtoken Ġis Ġstill Ġvalid ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun ĠisValid Id Token ( id Token Info : ĠId Token Info ): ĠBoolean Ċ }