package Ġme . am ry ouse f . apple . auth . firebase _ auth _ oauth Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroidx . annotation . NonNull Ċ import Ġcom . google . firebase . Firebase App Ċ import Ġcom . google . firebase . auth . Firebase Auth Ċ import Ġcom . google . firebase . auth . OAuth Provider Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġio . flutter . embedding . engine . plugins . Flutter Plugin Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Aware Ċ import Ġio . flutter . embedding . engine . plugins . activity . Activity Plugin Binding Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġio . flutter . plugin . common . Method Channel . MethodCall Handler Ċ import Ġio . flutter . plugin . common . Method Channel . Result Ċ import Ġio . flutter . plugin . common . Plugin Registry . Registrar ĊĊ Ċ /** ĠFirebase Apple Auth Plugin Ġ*/ Ċ class ĠFirebase Auth OAuth Plugin Ġ: ĠFlutter Plugin , ĠActivity Aware , ĠMethod Call Handler Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġactivity : ĠActivity ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Engine (@ NonNull Ġflutter Plugin Binding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĠMethod Channel ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġflutter Plugin Binding . binary Messenger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" me . am ry ouse f . apple . auth / firebase _ auth _ oauth " ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( this ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠCREATE _ USER _ METHOD Ġ= Ġ" open SignIn Flow " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠLINK _ USER _ METHOD Ġ= Ġ" link Existing User With Credentials " ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" unused ", Ġ" deprecation ") ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġregister With ( regist rar : ĠRegist rar ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchannel Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMethod Channel ( regist rar . messenger (), Ġ" me . am ry ouse f . apple . auth / firebase _ auth _ oauth ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchannel . set MethodCall Handler ( Firebase Auth OAuth Plugin (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġactivity Ġ= Ġregist rar . activity () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon MethodCall (@ NonNull Ġcall : ĠMethod Call , Ġ@ NonNull Ġresult : ĠResult ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprovider Builder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcall . argument < String >(" provider ") ?. let Ġ{ ĠOAuth Provider . newBuilder ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( provider Builder Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Plugin Error (" Provider Ġargument Ġcannot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġgson Ġ= ĠGson () ĊĠĠĠĠĠĠĠ Ġif Ġ( call . argument < String >(" scopes ") Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Plugin Error (" Scope Ġcannot Ġbe Ġnull ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcall . argument < String >(" scopes ") ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Builder . set Scopes ( gson . fromJson ( it , Ġobject Ġ: ĠType Token < List < String >>() Ġ{} . type )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcall . argument < String >(" parameters ") ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Builder . add Custom Parameters ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgson . fromJson < Map < String , ĠString >>( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠType Token < Map < String , ĠString >>() Ġ{} . type ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġprovider Ġ= Ġprovider Builder . build () ĊĠĠĠĠĠĠĠ Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauth Ġ= Ġcall . argument < String >(" app ") ?. let Ġ{ ĠappName Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth . getInstance ( Firebase App . getInstance ( appName )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: ĠFirebase Auth . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpending Ġ= Ġauth . pending Auth Result ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpending ?. add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ("") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ?. add On Failure Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Firebase Auth Error ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġcall . method . to SignIn Task ( provider , Ġauth , Ġresult ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . add On Success Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ("") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn @ add On Success Listener ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}. add On Failure Listener Ġ{ Ġerror Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. Firebase Auth Error ( error ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. to Result ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Engine (@ NonNull Ġbinding : ĠFlutter Plugin . Flutter Plugin Binding ) Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Activity () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Re attached To Activity For Config Changes ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġbinding . activity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Attached To Activity ( binding : ĠActivity Plugin Binding ) Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġbinding . activity ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Detached From Activity For Config Changes () Ġ{ ĊĠĠĠĠĠĠĠ Ġactivity Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠString . to SignIn Task ( ĊĠĠĠĠĠĠĠ Ġprovider : ĠOAuth Provider , ĊĠĠĠĠĠĠĠ Ġauth : ĠFirebase Auth , ĊĠĠĠĠĠĠĠ Ġresult : ĠResult ĊĠĠĠ Ġ) Ġ= Ġactivity ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLINK _ USER _ METHOD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġuser Ġ= Ġauth . currentUser ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( user Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error . Plugin Error ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ). to Result ( result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser !!. startActivity For Link With Provider ( it , Ġprovider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCREATE _ USER _ METHOD Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġauth . startActivity For SignIn With Provider ( it , Ġprovider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFirebase Auth OAuth Plugin Error . Plugin Error (" Unknown Ġmethod Ġcalled ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcom . google . android . gms . tasks . Tasks . for Canceled () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ġ?: Ġcom . google . android . gms . tasks . Tasks . for Canceled () Ċ } Ċ