@@ -231,7 +231,7 @@ private void getDeviceState(Result reply) {
231
231
232
232
private void postNotification (MethodCall call , final Result reply ) {
233
233
JSONObject json = new JSONObject ((Map <String , Object >) call .arguments );
234
- OneSignal .postNotification (json , new OSFlutterResultHandler (flutterRegistrar , channel , reply , "postNotification" ));
234
+ OneSignal .postNotification (json , new OSFlutterPostNotificationHandler (flutterRegistrar , channel , reply , "postNotification" ));
235
235
}
236
236
237
237
private void promptLocation (Result reply ) {
@@ -259,11 +259,11 @@ private void setSMSNumber(MethodCall call, final Result reply) {
259
259
String smsNumber = call .argument ("smsNumber" );
260
260
String smsAuthHashToken = call .argument ("smsAuthHashToken" );
261
261
262
- OneSignal .setSMSNumber (smsNumber , smsAuthHashToken , new OSFlutterResultHandler (flutterRegistrar , channel , reply , "setSMSNumber" ));
262
+ OneSignal .setSMSNumber (smsNumber , smsAuthHashToken , new OSFlutterSMSHandler (flutterRegistrar , channel , reply , "setSMSNumber" ));
263
263
}
264
264
265
265
private void logoutSMSNumber (final Result reply ) {
266
- OneSignal .logoutSMSNumber (new OSFlutterResultHandler (flutterRegistrar , channel , reply , "logoutSMSNumber" ));
266
+ OneSignal .logoutSMSNumber (new OSFlutterSMSHandler (flutterRegistrar , channel , reply , "logoutSMSNumber" ));
267
267
}
268
268
269
269
private void setLanguage (MethodCall call , final Result result ) {
@@ -282,11 +282,11 @@ private void setExternalUserId(MethodCall call, final Result result) {
282
282
if (authHashToken != null && authHashToken .length () == 0 )
283
283
authHashToken = null ;
284
284
285
- OneSignal .setExternalUserId (externalUserId , authHashToken , new OSFlutterResultHandler (flutterRegistrar , channel , result , "setExternalUserId" ));
285
+ OneSignal .setExternalUserId (externalUserId , authHashToken , new OSFlutterExternalUserIdHandler (flutterRegistrar , channel , result , "setExternalUserId" ));
286
286
}
287
287
288
288
private void removeExternalUserId (final Result result ) {
289
- OneSignal .removeExternalUserId (new OSFlutterResultHandler (flutterRegistrar , channel , result , "removeExternalUserId" ));
289
+ OneSignal .removeExternalUserId (new OSFlutterExternalUserIdHandler (flutterRegistrar , channel , result , "removeExternalUserId" ));
290
290
}
291
291
292
292
private void initNotificationOpenedHandlerParams () {
@@ -428,46 +428,98 @@ public void onFailure(EmailUpdateError error) {
428
428
}
429
429
}
430
430
431
- static class OSFlutterResultHandler extends FlutterRegistrarResponder
432
- implements OneSignal .OSExternalUserIdUpdateCompletionHandler , OneSignal . OSSMSUpdateHandler , OneSignal . PostNotificationResponseHandler {
431
+ static class OSFlutterSMSHandler extends FlutterRegistrarResponder
432
+ implements OneSignal .OSSMSUpdateHandler {
433
433
private final Result result ;
434
434
private final String methodName ;
435
435
private final AtomicBoolean replySubmitted = new AtomicBoolean (false );
436
436
437
- OSFlutterResultHandler (PluginRegistry .Registrar flutterRegistrar , MethodChannel channel , Result res , String methodName ) {
438
- this .flutterRegistrar = flutterRegistrar ;
439
- this .channel = channel ;
440
- this .result = res ;
441
- this .methodName = methodName ;
437
+ OSFlutterSMSHandler (PluginRegistry .Registrar flutterRegistrar , MethodChannel channel , Result res , String methodName ) {
438
+ this .flutterRegistrar = flutterRegistrar ;
439
+ this .channel = channel ;
440
+ this .result = res ;
441
+ this .methodName = methodName ;
442
442
}
443
443
444
444
@ Override
445
445
public void onSuccess (JSONObject results ) {
446
446
if (this .replySubmitted .getAndSet (true ))
447
- return ;
447
+ return ;
448
448
449
449
try {
450
- replySuccess (result , OneSignalSerializer .convertJSONObjectToHashMap (results ));
450
+ replySuccess (result , OneSignalSerializer .convertJSONObjectToHashMap (results ));
451
451
} catch (JSONException e ) {
452
- replyError (result , "OneSignal" , "Encountered an error attempting to deserialize server response for " + methodName + ": " + e .getMessage (), null );
452
+ replyError (result , "OneSignal" , "Encountered an error attempting to deserialize server response for " + methodName + ": " + e .getMessage (), null );
453
453
}
454
454
}
455
455
456
456
@ Override
457
457
public void onFailure (OneSignal .OSSMSUpdateError error ) {
458
458
if (this .replySubmitted .getAndSet (true ))
459
- return ;
459
+ return ;
460
460
461
461
replyError (result , "OneSignal" , "Encountered an error when " + methodName + " (" + error .getType () + "): " + error .getMessage (), null );
462
462
}
463
+ }
464
+
465
+ static class OSFlutterExternalUserIdHandler extends FlutterRegistrarResponder
466
+ implements OneSignal .OSExternalUserIdUpdateCompletionHandler {
467
+ private final Result result ;
468
+ private final String methodName ;
469
+ private final AtomicBoolean replySubmitted = new AtomicBoolean (false );
470
+
471
+ OSFlutterExternalUserIdHandler (PluginRegistry .Registrar flutterRegistrar , MethodChannel channel , Result res , String methodName ) {
472
+ this .flutterRegistrar = flutterRegistrar ;
473
+ this .channel = channel ;
474
+ this .result = res ;
475
+ this .methodName = methodName ;
476
+ }
477
+
478
+ @ Override
479
+ public void onSuccess (JSONObject results ) {
480
+ if (this .replySubmitted .getAndSet (true ))
481
+ return ;
482
+
483
+ try {
484
+ replySuccess (result , OneSignalSerializer .convertJSONObjectToHashMap (results ));
485
+ } catch (JSONException e ) {
486
+ replyError (result , "OneSignal" , "Encountered an error attempting to deserialize server response for " + methodName + ": " + e .getMessage (), null );
487
+ }
488
+ }
463
489
464
490
@ Override
465
491
public void onFailure (OneSignal .ExternalIdError error ) {
466
492
if (this .replySubmitted .getAndSet (true ))
467
- return ;
493
+ return ;
468
494
469
495
replyError (result , "OneSignal" , "Encountered an error when " + methodName + " (" + error .getType () + "): " + error .getMessage (), null );
470
496
}
497
+ }
498
+
499
+ static class OSFlutterPostNotificationHandler extends FlutterRegistrarResponder
500
+ implements OneSignal .PostNotificationResponseHandler {
501
+ private final Result result ;
502
+ private final String methodName ;
503
+ private final AtomicBoolean replySubmitted = new AtomicBoolean (false );
504
+
505
+ OSFlutterPostNotificationHandler (PluginRegistry .Registrar flutterRegistrar , MethodChannel channel , Result res , String methodName ) {
506
+ this .flutterRegistrar = flutterRegistrar ;
507
+ this .channel = channel ;
508
+ this .result = res ;
509
+ this .methodName = methodName ;
510
+ }
511
+
512
+ @ Override
513
+ public void onSuccess (JSONObject results ) {
514
+ if (this .replySubmitted .getAndSet (true ))
515
+ return ;
516
+
517
+ try {
518
+ replySuccess (result , OneSignalSerializer .convertJSONObjectToHashMap (results ));
519
+ } catch (JSONException e ) {
520
+ replyError (result , "OneSignal" , "Encountered an error attempting to deserialize server response for " + methodName + ": " + e .getMessage (), null );
521
+ }
522
+ }
471
523
472
524
@ Override
473
525
public void onFailure (JSONObject response ) {
0 commit comments