@@ -335,23 +335,22 @@ public void tagsAvailable(JSONObject tags) {
335335
336336 @ ReactMethod
337337 public void setEmail (String email , String emailAuthToken , final Callback callback ) {
338+ final Callback [] callbackArr = new Callback []{ callback };
338339 OneSignal .setEmail (email , emailAuthToken , new EmailUpdateHandler () {
339340 @ Override
340341 public void onSuccess () {
341- Callback callbackCopy = callback ;
342- if (callbackCopy != null ) {
343- callbackCopy .invoke ();
344- callbackCopy = null ;
345- }
342+ if (callbackArr [0 ] != null ) {
343+ callbackArr [0 ].invoke ();
344+ callbackArr [0 ] = null ;
345+ }
346346 }
347347
348348 @ Override
349349 public void onFailure (EmailUpdateError error ) {
350350 try {
351- Callback callbackCopy = callback ;
352- if (callbackCopy != null ) {
353- callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
354- callbackCopy = null ;
351+ if (callbackArr [0 ] != null ) {
352+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
353+ callbackArr [0 ] = null ;
355354 }
356355 } catch (JSONException exception ) {
357356 exception .printStackTrace ();
@@ -362,23 +361,22 @@ public void onFailure(EmailUpdateError error) {
362361
363362 @ ReactMethod
364363 public void logoutEmail (final Callback callback ) {
364+ final Callback [] callbackArr = new Callback []{ callback };
365365 OneSignal .logoutEmail (new EmailUpdateHandler () {
366366 @ Override
367367 public void onSuccess () {
368- Callback callbackCopy = callback ;
369- if (callbackCopy != null ) {
370- callbackCopy .invoke ();
371- callbackCopy = null ;
372- }
368+ if (callbackArr [0 ] != null ) {
369+ callbackArr [0 ].invoke ();
370+ callbackArr [0 ] = null ;
371+ }
373372 }
374373
375374 @ Override
376375 public void onFailure (EmailUpdateError error ) {
377376 try {
378- Callback callbackCopy = callback ;
379- if (callbackCopy != null ) {
380- callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
381- callbackCopy = null ;
377+ if (callbackArr [0 ] != null ) {
378+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
379+ callbackArr [0 ] = null ;
382380 }
383381 } catch (JSONException exception ) {
384382 exception .printStackTrace ();
@@ -389,23 +387,22 @@ public void onFailure(EmailUpdateError error) {
389387
390388 @ ReactMethod
391389 public void setSMSNumber (String smsNumber , String smsAuthToken , final Callback callback ) {
390+ final Callback [] callbackArr = new Callback []{ callback };
392391 OneSignal .setSMSNumber (smsNumber , smsAuthToken , new OneSignal .OSSMSUpdateHandler () {
393392 @ Override
394393 public void onSuccess (JSONObject result ) {
395- Callback callbackCopy = callback ;
396- if (callbackCopy != null ) {
397- callbackCopy .invoke (RNUtils .jsonToWritableMap (result ));
398- callbackCopy = null ;
399- }
394+ if (callbackArr [0 ] != null ) {
395+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (result ));
396+ callbackArr [0 ] = null ;
397+ }
400398 }
401399
402400 @ Override
403401 public void onFailure (OneSignal .OSSMSUpdateError error ) {
404402 try {
405- Callback callbackCopy = callback ;
406- if (callbackCopy != null ) {
407- callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
408- callbackCopy = null ;
403+ if (callbackArr [0 ] != null ) {
404+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
405+ callbackArr [0 ] = null ;
409406 }
410407 } catch (JSONException exception ) {
411408 exception .printStackTrace ();
@@ -416,23 +413,22 @@ public void onFailure(OneSignal.OSSMSUpdateError error) {
416413
417414 @ ReactMethod
418415 public void logoutSMSNumber (final Callback callback ) {
416+ final Callback [] callbackArr = new Callback []{ callback };
419417 OneSignal .logoutSMSNumber (new OneSignal .OSSMSUpdateHandler () {
420418 @ Override
421419 public void onSuccess (JSONObject result ) {
422- Callback callbackCopy = callback ;
423- if (callbackCopy != null ) {
424- callbackCopy .invoke (RNUtils .jsonToWritableMap (result ));
425- callbackCopy = null ;
426- }
420+ if (callbackArr [0 ] != null ) {
421+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (result ));
422+ callbackArr [0 ] = null ;
423+ }
427424 }
428425
429426 @ Override
430427 public void onFailure (OneSignal .OSSMSUpdateError error ) {
431428 try {
432- Callback callbackCopy = callback ;
433- if (callbackCopy != null ) {
434- callbackCopy .invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
435- callbackCopy = null ;
429+ if (callbackArr [0 ] != null ) {
430+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (jsonFromErrorMessageString (error .getMessage ())));
431+ callbackArr [0 ] = null ;
436432 }
437433 } catch (JSONException exception ) {
438434 exception .printStackTrace ();
@@ -463,19 +459,26 @@ public void setLocationShared(Boolean shared) {
463459
464460 @ ReactMethod
465461 public void postNotification (String jsonObjectString , final Callback successCallback , final Callback failureCallback ) {
462+ final Callback [] callbackArr = new Callback []{ successCallback , failureCallback };
466463 OneSignal .postNotification (
467464 jsonObjectString ,
468465 new OneSignal .PostNotificationResponseHandler () {
469466 @ Override
470467 public void onSuccess (JSONObject response ) {
471468 Log .i ("OneSignal" , "postNotification Success: " + response .toString ());
472- successCallback .invoke (RNUtils .jsonToWritableMap (response ));
469+ if (callbackArr [0 ] != null ) {
470+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (response ));
471+ callbackArr [0 ] = null ;
472+ }
473473 }
474474
475475 @ Override
476476 public void onFailure (JSONObject response ) {
477477 Log .e ("OneSignal" , "postNotification Failure: " + response .toString ());
478- failureCallback .invoke (RNUtils .jsonToWritableMap (response ));
478+ if (callbackArr [1 ] != null ) {
479+ callbackArr [1 ].invoke (RNUtils .jsonToWritableMap (response ));
480+ callbackArr [1 ] = null ;
481+ }
479482 }
480483 }
481484 );
@@ -516,51 +519,49 @@ public void userProvidedPrivacyConsent(Promise promise) {
516519 promise .resolve (OneSignal .userProvidedPrivacyConsent ());
517520 }
518521
519- @ ReactMethod
520- public void setExternalUserId (final String externalId , final String authHashToken , final Callback callback ) {
521- OneSignal .setExternalUserId (externalId , authHashToken , new OneSignal .OSExternalUserIdUpdateCompletionHandler () {
522- @ Override
523- public void onSuccess (JSONObject results ) {
524- Log .i ("OneSignal" , "Completed setting external user id: " + externalId + "with results: " + results .toString ());
522+ @ ReactMethod
523+ public void setExternalUserId (final String externalId , final String authHashToken , final Callback callback ) {
524+ final Callback [] callbackArr = new Callback []{ callback };
525+ OneSignal .setExternalUserId (externalId , authHashToken , new OneSignal .OSExternalUserIdUpdateCompletionHandler () {
526+ @ Override
527+ public void onSuccess (JSONObject results ) {
528+ Log .i ("OneSignal" , "Completed setting external user id: " + externalId + "with results: " + results .toString ());
525529
526- Callback callbackCopy = callback ;
527- if (callbackCopy != null ) {
528- callbackCopy .invoke (RNUtils .jsonToWritableMap (results ));
529- callbackCopy = null ;
530- }
531- }
530+ if (callbackArr [0 ] != null ) {
531+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (results ));
532+ callbackArr [0 ] = null ;
533+ }
534+ }
532535
533- @ Override
534- public void onFailure (OneSignal .ExternalIdError error ) {
535- Callback callbackCopy = callback ;
536- if (callbackCopy != null ) {
537- callbackCopy .invoke (error .getMessage ());
538- callbackCopy = null ;
539- }
540- }
541- });
542- }
536+ @ Override
537+ public void onFailure (OneSignal .ExternalIdError error ) {
538+ if (callbackArr [0 ] != null ) {
539+ callbackArr [0 ].invoke (error .getMessage ());
540+ callbackArr [0 ] = null ;
541+ }
542+ }
543+ });
544+ }
543545
544546 @ ReactMethod
545547 public void removeExternalUserId (final Callback callback ) {
548+ final Callback [] callbackArr = new Callback []{ callback };
546549 OneSignal .removeExternalUserId (new OneSignal .OSExternalUserIdUpdateCompletionHandler () {
547550 @ Override
548551 public void onSuccess (JSONObject results ) {
549552 Log .i ("OneSignal" , "Completed removing external user id with results: " + results .toString ());
550553
551- Callback callbackCopy = callback ;
552- if (callbackCopy != null ) {
553- callbackCopy .invoke (RNUtils .jsonToWritableMap (results ));
554- callbackCopy = null ;
554+ if (callbackArr [0 ] != null ) {
555+ callbackArr [0 ].invoke (RNUtils .jsonToWritableMap (results ));
556+ callbackArr [0 ] = null ;
555557 }
556558 }
557559
558560 @ Override
559561 public void onFailure (OneSignal .ExternalIdError error ) {
560- Callback callbackCopy = callback ;
561- if (callbackCopy != null ) {
562- callbackCopy .invoke (error .getMessage ());
563- callbackCopy = null ;
562+ if (callbackArr [0 ] != null ) {
563+ callbackArr [0 ].invoke (error .getMessage ());
564+ callbackArr [0 ] = null ;
564565 }
565566 }
566567 });
0 commit comments