@@ -338,13 +338,21 @@ public void setEmail(String email, String emailAuthToken, final Callback callbac
338
338
OneSignal .setEmail (email , emailAuthToken , new EmailUpdateHandler () {
339
339
@ Override
340
340
public void onSuccess () {
341
- callback .invoke ();
341
+ Callback callbackCopy = callback ;
342
+ if (callbackCopy != null ) {
343
+ callbackCopy .invoke ();
344
+ callbackCopy = null ;
345
+ }
342
346
}
343
347
344
348
@ Override
345
349
public void onFailure (EmailUpdateError error ) {
346
350
try {
347
- callback .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
351
+ Callback callbackCopy = callback ;
352
+ if (callbackCopy != null ) {
353
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
354
+ callbackCopy = null ;
355
+ }
348
356
} catch (JSONException exception ) {
349
357
exception .printStackTrace ();
350
358
}
@@ -357,13 +365,21 @@ public void logoutEmail(final Callback callback) {
357
365
OneSignal .logoutEmail (new EmailUpdateHandler () {
358
366
@ Override
359
367
public void onSuccess () {
360
- callback .invoke ();
368
+ Callback callbackCopy = callback ;
369
+ if (callbackCopy != null ) {
370
+ callbackCopy .invoke ();
371
+ callbackCopy = null ;
372
+ }
361
373
}
362
374
363
375
@ Override
364
376
public void onFailure (EmailUpdateError error ) {
365
377
try {
366
- callback .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
378
+ Callback callbackCopy = callback ;
379
+ if (callbackCopy != null ) {
380
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
381
+ callbackCopy = null ;
382
+ }
367
383
} catch (JSONException exception ) {
368
384
exception .printStackTrace ();
369
385
}
@@ -376,13 +392,21 @@ public void setSMSNumber(String smsNumber, String smsAuthToken, final Callback c
376
392
OneSignal .setSMSNumber (smsNumber , smsAuthToken , new OneSignal .OSSMSUpdateHandler () {
377
393
@ Override
378
394
public void onSuccess (JSONObject result ) {
379
- callback .invoke (RNUtils .jsonToWritableMap (result ));
395
+ Callback callbackCopy = callback ;
396
+ if (callbackCopy != null ) {
397
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (result ));
398
+ callbackCopy = null ;
399
+ }
380
400
}
381
401
382
402
@ Override
383
403
public void onFailure (OneSignal .OSSMSUpdateError error ) {
384
404
try {
385
- callback .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
405
+ Callback callbackCopy = callback ;
406
+ if (callbackCopy != null ) {
407
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
408
+ callbackCopy = null ;
409
+ }
386
410
} catch (JSONException exception ) {
387
411
exception .printStackTrace ();
388
412
}
@@ -395,13 +419,21 @@ public void logoutSMSNumber(final Callback callback) {
395
419
OneSignal .logoutSMSNumber (new OneSignal .OSSMSUpdateHandler () {
396
420
@ Override
397
421
public void onSuccess (JSONObject result ) {
398
- callback .invoke (RNUtils .jsonToWritableMap (result ));
422
+ Callback callbackCopy = callback ;
423
+ if (callbackCopy != null ) {
424
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (result ));
425
+ callbackCopy = null ;
426
+ }
399
427
}
400
428
401
429
@ Override
402
430
public void onFailure (OneSignal .OSSMSUpdateError error ) {
403
431
try {
404
- callback .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
432
+ Callback callbackCopy = callback ;
433
+ if (callbackCopy != null ) {
434
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
435
+ callbackCopy = null ;
436
+ }
405
437
} catch (JSONException exception ) {
406
438
exception .printStackTrace ();
407
439
}
@@ -491,14 +523,20 @@ public void setExternalUserId(final String externalId, final String authHashToke
491
523
public void onSuccess (JSONObject results ) {
492
524
Log .i ("OneSignal" , "Completed setting external user id: " + externalId + "with results: " + results .toString ());
493
525
494
- if (callback != null )
495
- callback .invoke (RNUtils .jsonToWritableMap (results ));
526
+ Callback callbackCopy = callback ;
527
+ if (callbackCopy != null ) {
528
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (results ));
529
+ callbackCopy = null ;
530
+ }
496
531
}
497
532
498
533
@ Override
499
534
public void onFailure (OneSignal .ExternalIdError error ) {
500
- if (callback != null )
501
- callback .invoke (error .getMessage ());
535
+ Callback callbackCopy = callback ;
536
+ if (callbackCopy != null ) {
537
+ callbackCopy .invoke (error .getMessage ());
538
+ callbackCopy = null ;
539
+ }
502
540
}
503
541
});
504
542
}
@@ -510,14 +548,20 @@ public void removeExternalUserId(final Callback callback) {
510
548
public void onSuccess (JSONObject results ) {
511
549
Log .i ("OneSignal" , "Completed removing external user id with results: " + results .toString ());
512
550
513
- if (callback != null )
514
- callback .invoke (RNUtils .jsonToWritableMap (results ));
551
+ Callback callbackCopy = callback ;
552
+ if (callbackCopy != null ) {
553
+ callbackCopy .invoke (RNUtils .jsonToWritableMap (results ));
554
+ callbackCopy = null ;
555
+ }
515
556
}
516
557
517
558
@ Override
518
559
public void onFailure (OneSignal .ExternalIdError error ) {
519
- if (callback != null )
520
- callback .invoke (error .getMessage ());
560
+ Callback callbackCopy = callback ;
561
+ if (callbackCopy != null ) {
562
+ callbackCopy .invoke (error .getMessage ());
563
+ callbackCopy = null ;
564
+ }
521
565
}
522
566
});
523
567
}
@@ -636,7 +680,7 @@ public void inAppMessageClicked(OSInAppMessageAction result) {
636
680
}
637
681
this .sendEvent ("OneSignal-inAppMessageClicked" , RNUtils .jsonToWritableMap (result .toJSONObject ()));
638
682
}
639
-
683
+
640
684
/* in app message lifecycle */
641
685
642
686
@ ReactMethod
0 commit comments