@@ -354,6 +354,7 @@ public void onComplete(@NonNull Task<Void> task) {
354354 @ ReactMethod
355355 public void signOut (final Callback callback ) {
356356 FirebaseAuth .getInstance ().signOut ();
357+ user = null ;
357358
358359 WritableMap resp = Arguments .createMap ();
359360 resp .putString ("status" , "complete" );
@@ -426,25 +427,34 @@ public void userCallback(FirebaseUser passedUser, final Callback onComplete) {
426427 user .getToken (true ).addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
427428 @ Override
428429 public void onComplete (@ NonNull Task <GetTokenResult > task ) {
430+ WritableMap msgMap = Arguments .createMap ();
429431 WritableMap userMap = Arguments .createMap ();
430- final String name = user .getDisplayName ();
431- final String token = task .getResult ().getToken ();
432- final String email = user .getEmail ();
433- final String uid = user .getUid ();
434- final String provider = user .getProviderId ();
435- final Uri photoUrl = user .getPhotoUrl ();
436-
437- userMap .putString ("name" , name );
438- userMap .putString ("token" , token );
439- userMap .putString ("email" , email );
440- userMap .putString ("uid" , uid );
441- userMap .putString ("provider" , provider );
442-
443- if (photoUrl !=null ) {
444- userMap .putString ("photoUrl" ,photoUrl .toString ());
432+
433+ if (user != null ) {
434+ final String name = user .getDisplayName ();
435+ final String token = task .getResult ().getToken ();
436+ final String email = user .getEmail ();
437+ final String uid = user .getUid ();
438+ final String provider = user .getProviderId ();
439+ final Uri photoUrl = user .getPhotoUrl ();
440+
441+ userMap .putString ("name" , name );
442+ userMap .putString ("token" , token );
443+ userMap .putString ("email" , email );
444+ userMap .putString ("uid" , uid );
445+ userMap .putString ("providerId" , provider );
446+ userMap .putBoolean ("anonymous" , false );
447+
448+ if (photoUrl !=null ) {
449+ userMap .putString ("photoUrl" ,photoUrl .toString ());
450+ }
451+ } else {
452+ userMap .putString ("msg" , "no user" );
445453 }
446454
447- onComplete .invoke (null , userMap );
455+ msgMap .putMap ("user" , userMap );
456+
457+ onComplete .invoke (null , msgMap );
448458 }
449459 });
450460 }
@@ -473,9 +483,13 @@ private WritableMap getUserMap() {
473483
474484 FirebaseUser user = FirebaseAuth .getInstance ().getCurrentUser ();
475485
476- userMap .putString ("email" , user .getEmail ());
477- userMap .putString ("uid" , user .getUid ());
478- userMap .putString ("provider" , user .getProviderId ());
486+ if (user != null ) {
487+ userMap .putString ("email" , user .getEmail ());
488+ userMap .putString ("uid" , user .getUid ());
489+ userMap .putString ("provider" , user .getProviderId ());
490+ } else {
491+ userMap .putString ("msg" , "no user" );
492+ }
479493
480494 return userMap ;
481495 }
0 commit comments