@@ -157,7 +157,7 @@ public void onComplete(@NonNull Task<AuthResult> task) {
157157
158158 if (task .isSuccessful ()) {
159159 user = task .getResult ().getUser ();
160- userCallback (user , callback );
160+ anonymousUserCallback (user , callback );
161161 }else {
162162 userErrorCallback (task , callback );
163163 }
@@ -461,6 +461,53 @@ public void onComplete(@NonNull Task<GetTokenResult> task) {
461461 });
462462 }
463463
464+ // TODO: Reduce to one method
465+ public void anonymousUserCallback (FirebaseUser passedUser , final Callback onComplete ) {
466+ WritableMap userMap = getUserMap ();
467+
468+ if (passedUser == null ) {
469+ mAuth = FirebaseAuth .getInstance ();
470+ final FirebaseUser user = mAuth .getCurrentUser ();
471+ } else {
472+ final FirebaseUser user = passedUser ;
473+ }
474+
475+ user .getToken (true ).addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
476+ @ Override
477+ public void onComplete (@ NonNull Task <GetTokenResult > task ) {
478+ WritableMap msgMap = Arguments .createMap ();
479+ WritableMap userMap = Arguments .createMap ();
480+
481+ if (user != null ) {
482+ final String name = user .getDisplayName ();
483+ final String token = task .getResult ().getToken ();
484+ final String email = user .getEmail ();
485+ final String uid = user .getUid ();
486+ final String provider = user .getProviderId ();
487+ final Uri photoUrl = user .getPhotoUrl ();
488+
489+ userMap .putString ("name" , name );
490+ userMap .putString ("token" , token );
491+ userMap .putString ("email" , email );
492+ userMap .putString ("uid" , uid );
493+ userMap .putString ("providerId" , provider );
494+ userMap .putBoolean ("anonymous" , true );
495+
496+ if (photoUrl !=null ) {
497+ userMap .putString ("photoUrl" ,photoUrl .toString ());
498+ }
499+ } else {
500+ userMap .putString ("msg" , "no user" );
501+ }
502+
503+ msgMap .putMap ("user" , userMap );
504+
505+ onComplete .invoke (null , msgMap );
506+ }
507+ });
508+ }
509+
510+
464511 public void noUserCallback (final Callback callback ) {
465512 WritableMap message = Arguments .createMap ();
466513
0 commit comments