1+
12package io .fullstack .firestack ;
23
34import android .content .Context ;
@@ -99,21 +100,26 @@ public void unlistenForAuth(final Callback callback) {
99100 }
100101
101102 @ ReactMethod
102- public void createUserWithEmail (final String email , final String password , final Callback onComplete ) {
103+ public void createUserWithEmail (final String email , final String password , final Callback callback ) {
103104 mAuth = FirebaseAuth .getInstance ();
104105
105106 mAuth .createUserWithEmailAndPassword (email , password )
106107 .addOnCompleteListener (new OnCompleteListener <AuthResult >() {
107108 @ Override
108109 public void onComplete (@ NonNull Task <AuthResult > task ) {
109110 if (task .isSuccessful ()) {
110- FirestackAuthModule .this .user = task .getResult ().getUser ();
111- userCallback (FirestackAuthModule .this .user , onComplete );
112- }else {
113- userErrorCallback (task , onComplete );
111+ FirestackAuthModule .this .user = task .getResult ().getUser ();
112+ userCallback (FirestackAuthModule .this .user , callback );
113+ } else {
114+ // userErrorCallback(task, callback );
114115 }
115116 }
116- });
117+ }).addOnFailureListener (new OnFailureListener () {
118+ @ Override
119+ public void onFailure (@ NonNull Exception ex ) {
120+ userExceptionCallback (ex , callback );
121+ }
122+ });
117123 }
118124
119125 @ ReactMethod
@@ -125,13 +131,19 @@ public void signInWithEmail(final String email, final String password, final Cal
125131 @ Override
126132 public void onComplete (@ NonNull Task <AuthResult > task ) {
127133 if (task .isSuccessful ()) {
128- FirestackAuthModule .this .user = task .getResult ().getUser ();
129- userCallback (FirestackAuthModule .this .user , callback );
134+ FirestackAuthModule .this .user = task .getResult ().getUser ();
135+ userCallback (FirestackAuthModule .this .user , callback );
130136 } else {
131- userErrorCallback (task , callback );
137+ // userErrorCallback(task, callback);
132138 }
139+ }
140+ }).addOnFailureListener (new OnFailureListener () {
141+ @ Override
142+ public void onFailure (@ NonNull Exception ex ) {
143+ Log .e (TAG , "An exception occurred: " + ex .getMessage ());
144+ userExceptionCallback (ex , callback );
133145 }
134- });
146+ });
135147 }
136148
137149 @ ReactMethod
@@ -156,14 +168,18 @@ public void onComplete(@NonNull Task<AuthResult> task) {
156168 Log .d (TAG , "signInAnonymously:onComplete:" + task .isSuccessful ());
157169
158170 if (task .isSuccessful ()) {
159- FirestackAuthModule .this .user = task .getResult ().getUser ();
160- anonymousUserCallback (FirestackAuthModule .this .user , callback );
161- }else {
162- userErrorCallback (task , callback );
171+ FirestackAuthModule .this .user = task .getResult ().getUser ();
172+ anonymousUserCallback (FirestackAuthModule .this .user , callback );
173+ } else {
174+ // userErrorCallback(task, callback);
163175 }
164- }
165- });
166-
176+ }
177+ }).addOnFailureListener (new OnFailureListener () {
178+ @ Override
179+ public void onFailure (@ NonNull Exception ex ) {
180+ userExceptionCallback (ex , callback );
181+ }
182+ });
167183 }
168184
169185 @ ReactMethod
@@ -175,14 +191,19 @@ public void signInWithCustomToken(final String customToken, final Callback callb
175191 @ Override
176192 public void onComplete (@ NonNull Task <AuthResult > task ) {
177193 Log .d (TAG , "signInWithCustomToken:onComplete:" + task .isSuccessful ());
178- if (task .isSuccessful ()) {
179- FirestackAuthModule .this .user = task .getResult ().getUser ();
194+ if (task .isSuccessful ()) {
195+ FirestackAuthModule .this .user = task .getResult ().getUser ();
180196 userCallback (FirestackAuthModule .this .user , callback );
181- } else {
182- userErrorCallback (task , callback );
183- }
197+ } else {
198+ // userErrorCallback(task, callback);
199+ }
184200 }
185- });
201+ }).addOnFailureListener (new OnFailureListener () {
202+ @ Override
203+ public void onFailure (@ NonNull Exception ex ) {
204+ userExceptionCallback (ex , callback );
205+ }
206+ });
186207 }
187208
188209 @ ReactMethod
@@ -212,7 +233,7 @@ public void onComplete(@NonNull Task<Void> task) {
212233 FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
213234 userCallback (u , callback );
214235 } else {
215- userErrorCallback (task , callback );
236+ // userErrorCallback(task, callback);
216237 }
217238 }
218239 });
@@ -238,10 +259,15 @@ public void onComplete(@NonNull Task<Void> task) {
238259 FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
239260 userCallback (u , callback );
240261 } else {
241- userErrorCallback (task , callback );
262+ // userErrorCallback(task, callback);
242263 }
243264 }
244- });
265+ }).addOnFailureListener (new OnFailureListener () {
266+ @ Override
267+ public void onFailure (@ NonNull Exception ex ) {
268+ userExceptionCallback (ex , callback );
269+ }
270+ });
245271 } else {
246272 WritableMap err = Arguments .createMap ();
247273 err .putInt ("errorCode" , NO_CURRENT_USER );
@@ -265,10 +291,15 @@ public void onComplete(@NonNull Task<Void> task) {
265291 FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
266292 userCallback (u , callback );
267293 } else {
268- userErrorCallback (task , callback );
294+ // userErrorCallback(task, callback);
269295 }
270296 }
271- });
297+ }).addOnFailureListener (new OnFailureListener () {
298+ @ Override
299+ public void onFailure (@ NonNull Exception ex ) {
300+ userExceptionCallback (ex , callback );
301+ }
302+ });
272303 } else {
273304 WritableMap err = Arguments .createMap ();
274305 err .putInt ("errorCode" , NO_CURRENT_USER );
@@ -289,11 +320,16 @@ public void onComplete(@NonNull Task<Void> task) {
289320 WritableMap resp = Arguments .createMap ();
290321 resp .putString ("status" , "complete" );
291322 callback .invoke (null , resp );
292- }else {
323+ } else {
293324 callback .invoke (task .getException ().toString ());
294325 }
295326 }
296- });
327+ }).addOnFailureListener (new OnFailureListener () {
328+ @ Override
329+ public void onFailure (@ NonNull Exception ex ) {
330+ userExceptionCallback (ex , callback );
331+ }
332+ });
297333 }
298334
299335 @ ReactMethod
@@ -312,10 +348,15 @@ public void onComplete(@NonNull Task<Void> task) {
312348 resp .putString ("msg" , "User account deleted" );
313349 callback .invoke (null , resp );
314350 } else {
315- userErrorCallback (task , callback );
351+ // userErrorCallback(task, callback);
316352 }
317353 }
318- });
354+ }).addOnFailureListener (new OnFailureListener () {
355+ @ Override
356+ public void onFailure (@ NonNull Exception ex ) {
357+ userExceptionCallback (ex , callback );
358+ }
359+ });
319360 } else {
320361 WritableMap err = Arguments .createMap ();
321362 err .putInt ("errorCode" , NO_CURRENT_USER );
@@ -345,7 +386,12 @@ public void onComplete(@NonNull Task<GetTokenResult> task) {
345386 callback .invoke (err );
346387 }
347388 }
348- });
389+ }).addOnFailureListener (new OnFailureListener () {
390+ @ Override
391+ public void onFailure (@ NonNull Exception ex ) {
392+ userExceptionCallback (ex , callback );
393+ }
394+ });
349395 }
350396
351397 @ ReactMethod
@@ -378,10 +424,15 @@ public void onComplete(@NonNull Task<Void> task) {
378424 FirebaseUser u = FirebaseAuth .getInstance ().getCurrentUser ();
379425 userCallback (u , callback );
380426 } else {
381- userErrorCallback (task , callback );
427+ // userErrorCallback(task, callback);
382428 }
383429 }
384- });
430+ }).addOnFailureListener (new OnFailureListener () {
431+ @ Override
432+ public void onFailure (@ NonNull Exception ex ) {
433+ userExceptionCallback (ex , callback );
434+ }
435+ });
385436 }
386437
387438 @ ReactMethod
@@ -417,14 +468,19 @@ public void googleLogin(String IdToken, final Callback callback) {
417468 .addOnCompleteListener (new OnCompleteListener <AuthResult >() {
418469 @ Override
419470 public void onComplete (@ NonNull Task <AuthResult > task ) {
420- if (task .isSuccessful ()) {
421- FirestackAuthModule .this .user = task .getResult ().getUser ();
422- userCallback (FirestackAuthModule .this .user , callback );
423- }else {
424- userErrorCallback (task , callback );
425- }
471+ if (task .isSuccessful ()) {
472+ FirestackAuthModule .this .user = task .getResult ().getUser ();
473+ userCallback (FirestackAuthModule .this .user , callback );
474+ }else {
475+ // userErrorCallback(task, callback);
476+ }
426477 }
427- });
478+ }).addOnFailureListener (new OnFailureListener () {
479+ @ Override
480+ public void onFailure (@ NonNull Exception ex ) {
481+ userExceptionCallback (ex , callback );
482+ }
483+ });
428484 }
429485
430486 @ ReactMethod
@@ -436,18 +492,23 @@ public void facebookLogin(String Token, final Callback callback) {
436492 .addOnCompleteListener (new OnCompleteListener <AuthResult >() {
437493 @ Override
438494 public void onComplete (@ NonNull Task <AuthResult > task ) {
439- if (task .isSuccessful ()) {
440- FirestackAuthModule .this .user = task .getResult ().getUser ();
441- userCallback (FirestackAuthModule .this .user , callback );
442- }else {
443- userErrorCallback (task , callback );
444- }
495+ if (task .isSuccessful ()) {
496+ FirestackAuthModule .this .user = task .getResult ().getUser ();
497+ userCallback (FirestackAuthModule .this .user , callback );
498+ }else {
499+ // userErrorCallback(task, callback);
500+ }
445501 }
446- });
502+ }).addOnFailureListener (new OnFailureListener () {
503+ @ Override
504+ public void onFailure (@ NonNull Exception ex ) {
505+ userExceptionCallback (ex , callback );
506+ }
507+ });
447508 }
448509
449510 // Internal helpers
450- public void userCallback (FirebaseUser passedUser , final Callback onComplete ) {
511+ public void userCallback (FirebaseUser passedUser , final Callback callback ) {
451512
452513 if (passedUser == null ) {
453514 mAuth = FirebaseAuth .getInstance ();
@@ -469,13 +530,18 @@ public void onComplete(@NonNull Task<GetTokenResult> task) {
469530
470531 msgMap .putMap ("user" , userMap );
471532
472- onComplete .invoke (null , msgMap );
533+ callback .invoke (null , msgMap );
473534 }
474- });
535+ }).addOnFailureListener (new OnFailureListener () {
536+ @ Override
537+ public void onFailure (@ NonNull Exception ex ) {
538+ userExceptionCallback (ex , callback );
539+ }
540+ });
475541 }
476542
477543 // TODO: Reduce to one method
478- public void anonymousUserCallback (FirebaseUser passedUser , final Callback onComplete ) {
544+ public void anonymousUserCallback (FirebaseUser passedUser , final Callback callback ) {
479545
480546 if (passedUser == null ) {
481547 mAuth = FirebaseAuth .getInstance ();
@@ -484,7 +550,8 @@ public void anonymousUserCallback(FirebaseUser passedUser, final Callback onComp
484550 this .user = passedUser ;
485551 }
486552
487- this .user .getToken (true ).addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
553+ this .user .getToken (true )
554+ .addOnCompleteListener (new OnCompleteListener <GetTokenResult >() {
488555 @ Override
489556 public void onComplete (@ NonNull Task <GetTokenResult > task ) {
490557 WritableMap msgMap = Arguments .createMap ();
@@ -499,9 +566,14 @@ public void onComplete(@NonNull Task<GetTokenResult> task) {
499566
500567 msgMap .putMap ("user" , userMap );
501568
502- onComplete .invoke (null , msgMap );
569+ callback .invoke (null , msgMap );
503570 }
504- });
571+ }).addOnFailureListener (new OnFailureListener () {
572+ @ Override
573+ public void onFailure (@ NonNull Exception ex ) {
574+ userExceptionCallback (ex , callback );
575+ }
576+ });
505577 }
506578
507579
@@ -524,6 +596,15 @@ public void userErrorCallback(Task task, final Callback onFail) {
524596 onFail .invoke (error );
525597 }
526598
599+ public void userExceptionCallback (Exception ex , final Callback onFail ) {
600+ WritableMap error = Arguments .createMap ();
601+ error .putInt ("errorCode" , ex .hashCode ());
602+ error .putString ("errorMessage" , ex .getMessage ());
603+ error .putString ("allErrorMessage" , ex .toString ());
604+
605+ onFail .invoke (error );
606+ }
607+
527608 private WritableMap getUserMap () {
528609 WritableMap userMap = Arguments .createMap ();
529610
0 commit comments