@@ -340,99 +340,108 @@ public void onComplete(@NonNull Task<Void> task) {
340340 public void sendEmailVerification (final Callback callback ) {
341341 FirebaseUser user = FirebaseAuth .getInstance ().getCurrentUser ();
342342
343- // TODO check user exists
344- user .sendEmailVerification ()
345- .addOnCompleteListener (new OnCompleteListener <Void >() {
346- @ Override
347- public void onComplete (@ NonNull Task <Void > task ) {
348- try {
349- if (task .isSuccessful ()) {
350- WritableMap resp = Arguments .createMap ();
351- resp .putString ("status" , "complete" );
352- resp .putString ("msg" , "User verification email sent" );
353- callback .invoke (null , resp );
354- } else {
355- WritableMap err = Arguments .createMap ();
356- err .putInt ("errorCode" , ERROR_SENDING_VERIFICATION_EMAIL );
357- err .putString ("errorMessage" , task .getException ().getMessage ());
358- callback .invoke (err );
343+ if (user != null ) {
344+ user .sendEmailVerification ()
345+ .addOnCompleteListener (new OnCompleteListener <Void >() {
346+ @ Override
347+ public void onComplete (@ NonNull Task <Void > task ) {
348+ try {
349+ if (task .isSuccessful ()) {
350+ WritableMap resp = Arguments .createMap ();
351+ resp .putString ("status" , "complete" );
352+ resp .putString ("msg" , "User verification email sent" );
353+ callback .invoke (null , resp );
354+ } else {
355+ WritableMap err = Arguments .createMap ();
356+ err .putInt ("errorCode" , ERROR_SENDING_VERIFICATION_EMAIL );
357+ err .putString ("errorMessage" , task .getException ().getMessage ());
358+ callback .invoke (err );
359+ }
360+ } catch (Exception ex ) {
361+ userExceptionCallback (ex , callback );
359362 }
360- } catch (Exception ex ) {
361- userExceptionCallback (ex , callback );
362363 }
363- }
364- });
364+ });
365+ } else {
366+ callbackNoUser (callback , true );
367+ }
365368 }
366369
367370
368371 @ ReactMethod
369372 public void getToken (final Callback callback ) {
370373 FirebaseUser user = FirebaseAuth .getInstance ().getCurrentUser ();
371374
372- // TODO check user exists
373- user .getToken (true )
374- .addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
375- @ Override
376- public void onComplete (@ NonNull Task <GetTokenResult > task ) {
377- try {
378- if (task .isSuccessful ()) {
379- String token = task .getResult ().getToken ();
380- WritableMap resp = Arguments .createMap ();
381- resp .putString ("status" , "complete" );
382- resp .putString ("token" , token );
383- callback .invoke (null , resp );
384- } else {
385- WritableMap err = Arguments .createMap ();
386- err .putInt ("errorCode" , ERROR_FETCHING_TOKEN );
387- err .putString ("errorMessage" , task .getException ().getMessage ());
388- callback .invoke (err );
375+ if (user != null ) {
376+ user .getToken (true )
377+ .addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
378+ @ Override
379+ public void onComplete (@ NonNull Task <GetTokenResult > task ) {
380+ try {
381+ if (task .isSuccessful ()) {
382+ String token = task .getResult ().getToken ();
383+ WritableMap resp = Arguments .createMap ();
384+ resp .putString ("status" , "complete" );
385+ resp .putString ("token" , token );
386+ callback .invoke (null , resp );
387+ } else {
388+ WritableMap err = Arguments .createMap ();
389+ err .putInt ("errorCode" , ERROR_FETCHING_TOKEN );
390+ err .putString ("errorMessage" , task .getException ().getMessage ());
391+ callback .invoke (err );
392+ }
393+ } catch (Exception ex ) {
394+ userExceptionCallback (ex , callback );
389395 }
390- } catch (Exception ex ) {
391- userExceptionCallback (ex , callback );
392396 }
393- }
394- });
397+ });
398+ } else {
399+ callbackNoUser (callback , true );
400+ }
395401 }
396402
397403 @ ReactMethod
398404 public void updateUserProfile (ReadableMap props , final Callback callback ) {
399405 FirebaseUser user = FirebaseAuth .getInstance ().getCurrentUser ();
400406
401- UserProfileChangeRequest .Builder profileBuilder = new UserProfileChangeRequest .Builder ();
407+ if (user != null ) {
408+ UserProfileChangeRequest .Builder profileBuilder = new UserProfileChangeRequest .Builder ();
402409
403- Map <String , Object > m = FirestackUtils .recursivelyDeconstructReadableMap (props );
410+ Map <String , Object > m = FirestackUtils .recursivelyDeconstructReadableMap (props );
404411
405- if (m .containsKey ("displayName" )) {
406- String displayName = (String ) m .get ("displayName" );
407- profileBuilder .setDisplayName (displayName );
408- }
412+ if (m .containsKey ("displayName" )) {
413+ String displayName = (String ) m .get ("displayName" );
414+ profileBuilder .setDisplayName (displayName );
415+ }
409416
410- if (m .containsKey ("photoUri" )) {
411- String photoUriStr = (String ) m .get ("photoUri" );
412- Uri uri = Uri .parse (photoUriStr );
413- profileBuilder .setPhotoUri (uri );
414- }
417+ if (m .containsKey ("photoUri" )) {
418+ String photoUriStr = (String ) m .get ("photoUri" );
419+ Uri uri = Uri .parse (photoUriStr );
420+ profileBuilder .setPhotoUri (uri );
421+ }
415422
416- UserProfileChangeRequest profileUpdates = profileBuilder .build ();
423+ UserProfileChangeRequest profileUpdates = profileBuilder .build ();
417424
418- // TODO check user exists
419- user .updateProfile (profileUpdates )
420- .addOnCompleteListener (new OnCompleteListener <Void >() {
421- @ Override
422- public void onComplete (@ NonNull Task <Void > task ) {
423- try {
424- if (task .isSuccessful ()) {
425- Log .d (TAG , "User profile updated" );
426- FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
427- userCallback (u , callback );
428- } else {
429- userErrorCallback (task , callback );
425+ user .updateProfile (profileUpdates )
426+ .addOnCompleteListener (new OnCompleteListener <Void >() {
427+ @ Override
428+ public void onComplete (@ NonNull Task <Void > task ) {
429+ try {
430+ if (task .isSuccessful ()) {
431+ Log .d (TAG , "User profile updated" );
432+ FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
433+ userCallback (u , callback );
434+ } else {
435+ userErrorCallback (task , callback );
436+ }
437+ } catch (Exception ex ) {
438+ userExceptionCallback (ex , callback );
430439 }
431- } catch (Exception ex ) {
432- userExceptionCallback (ex , callback );
433440 }
434- }
435- });
441+ });
442+ } else {
443+ callbackNoUser (callback , true );
444+ }
436445 }
437446
438447 @ ReactMethod
@@ -516,30 +525,33 @@ public void userCallback(FirebaseUser passedUser, final Callback callback) {
516525 this .user = passedUser ;
517526 }
518527
519- // TODO check user exists
520- this .user .getToken (true ).addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
521- @ Override
522- public void onComplete (@ NonNull Task <GetTokenResult > task ) {
523- // TODO - no task is successful check...
524- WritableMap msgMap = Arguments .createMap ();
525- WritableMap userMap = getUserMap ();
526- if (FirestackAuthModule .this .user != null ) {
527- final String token = task .getResult ().getToken ();
528-
529- userMap .putString ("token" , token );
530- userMap .putBoolean ("anonymous" , false );
531- }
528+ if (this .user != null ) {
529+ this .user .getToken (true ).addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
530+ @ Override
531+ public void onComplete (@ NonNull Task <GetTokenResult > task ) {
532+ // TODO - no task is successful check...
533+ WritableMap msgMap = Arguments .createMap ();
534+ WritableMap userMap = getUserMap ();
535+ if (FirestackAuthModule .this .user != null ) {
536+ final String token = task .getResult ().getToken ();
532537
533- msgMap .putMap ("user" , userMap );
538+ userMap .putString ("token" , token );
539+ userMap .putBoolean ("anonymous" , false );
540+ }
534541
535- callback .invoke (null , msgMap );
536- }
537- }).addOnFailureListener (new OnFailureListener () {
538- @ Override
539- public void onFailure (@ NonNull Exception ex ) {
540- userExceptionCallback (ex , callback );
541- }
542- });
542+ msgMap .putMap ("user" , userMap );
543+
544+ callback .invoke (null , msgMap );
545+ }
546+ }).addOnFailureListener (new OnFailureListener () {
547+ @ Override
548+ public void onFailure (@ NonNull Exception ex ) {
549+ userExceptionCallback (ex , callback );
550+ }
551+ });
552+ } else {
553+ callbackNoUser (callback , true );
554+ }
543555 }
544556
545557 // TODO: Reduce to one method
@@ -552,32 +564,36 @@ public void anonymousUserCallback(FirebaseUser passedUser, final Callback callba
552564 this .user = passedUser ;
553565 }
554566
555- this .user .getToken (true )
556- .addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
557- @ Override
558- public void onComplete (@ NonNull Task <GetTokenResult > task ) {
559- // TODO - no task is successful check...
567+ if (this .user != null ) {
568+ this .user .getToken (true )
569+ .addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
570+ @ Override
571+ public void onComplete (@ NonNull Task <GetTokenResult > task ) {
572+ // TODO - no task is successful check...
560573
561- WritableMap msgMap = Arguments .createMap ();
562- WritableMap userMap = getUserMap ();
574+ WritableMap msgMap = Arguments .createMap ();
575+ WritableMap userMap = getUserMap ();
563576
564- if (FirestackAuthModule .this .user != null ) {
565- final String token = task .getResult ().getToken ();
577+ if (FirestackAuthModule .this .user != null ) {
578+ final String token = task .getResult ().getToken ();
566579
567- userMap .putString ("token" , token );
568- userMap .putBoolean ("anonymous" , true );
569- }
580+ userMap .putString ("token" , token );
581+ userMap .putBoolean ("anonymous" , true );
582+ }
570583
571- msgMap .putMap ("user" , userMap );
584+ msgMap .putMap ("user" , userMap );
572585
573- callback .invoke (null , msgMap );
574- }
575- }).addOnFailureListener (new OnFailureListener () {
576- @ Override
577- public void onFailure (@ NonNull Exception ex ) {
578- userExceptionCallback (ex , callback );
579- }
580- });
586+ callback .invoke (null , msgMap );
587+ }
588+ }).addOnFailureListener (new OnFailureListener () {
589+ @ Override
590+ public void onFailure (@ NonNull Exception ex ) {
591+ userExceptionCallback (ex , callback );
592+ }
593+ });
594+ } else {
595+ callbackNoUser (callback , true );
596+ }
581597 }
582598
583599 public void userErrorCallback (Task task , final Callback onFail ) {
0 commit comments