@@ -40,6 +40,8 @@ public class IterableApi {
40
40
private IterableNotificationData _notificationData ;
41
41
private String _deviceId ;
42
42
private boolean _firstForegroundHandled ;
43
+ private IterableHelper .SuccessHandler _setUserSuccessCallbackHandler ;
44
+ private IterableHelper .FailureHandler _setUserFailureCallbackHandler ;
43
45
44
46
IterableApiClient apiClient = new IterableApiClient (new IterableApiAuthProvider ());
45
47
private @ Nullable IterableInAppManager inAppManager ;
@@ -278,6 +280,8 @@ private void completeUserLogin() {
278
280
279
281
if (config .autoPushRegistration ) {
280
282
registerForPush ();
283
+ } else if (_setUserSuccessCallbackHandler != null ) {
284
+ _setUserSuccessCallbackHandler .onSuccess (new JSONObject ()); // passing blank json object here as onSuccess is @Nonnull
281
285
}
282
286
283
287
getInAppManager ().syncInApp ();
@@ -471,7 +475,7 @@ protected void registerDeviceToken(@Nullable String email, @Nullable String user
471
475
IterableLogger .e (TAG , "registerDeviceToken: applicationName is null, check that pushIntegrationName is set in IterableConfig" );
472
476
}
473
477
474
- apiClient .registerDeviceToken (email , userId , authToken , applicationName , deviceToken , dataFields , deviceAttributes );
478
+ apiClient .registerDeviceToken (email , userId , authToken , applicationName , deviceToken , dataFields , deviceAttributes , _setUserSuccessCallbackHandler , _setUserFailureCallbackHandler );
475
479
}
476
480
//endregion
477
481
@@ -573,10 +577,18 @@ public IterableAttributionInfo getAttributionInfo() {
573
577
}
574
578
575
579
public void setEmail (@ Nullable String email ) {
576
- setEmail (email , null );
580
+ setEmail (email , null , null , null );
581
+ }
582
+
583
+ public void setEmail (@ Nullable String email , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
584
+ setEmail (email , null , successHandler , failureHandler );
577
585
}
578
586
579
587
public void setEmail (@ Nullable String email , @ Nullable String authToken ) {
588
+ setEmail (email , authToken , null , null );
589
+ }
590
+
591
+ public void setEmail (@ Nullable String email , @ Nullable String authToken , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
580
592
//Only if passed in same non-null email
581
593
if (_email != null && _email .equals (email )) {
582
594
checkAndUpdateAuthToken (authToken );
@@ -591,16 +603,26 @@ public void setEmail(@Nullable String email, @Nullable String authToken) {
591
603
592
604
_email = email ;
593
605
_userId = null ;
606
+ _setUserSuccessCallbackHandler = successHandler ;
607
+ _setUserFailureCallbackHandler = failureHandler ;
594
608
storeAuthData ();
595
609
596
610
onLogin (authToken );
597
611
}
598
612
599
613
public void setUserId (@ Nullable String userId ) {
600
- setUserId (userId , null );
614
+ setUserId (userId , null , null , null );
615
+ }
616
+
617
+ public void setUserId (@ Nullable String userId , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
618
+ setUserId (userId , null , successHandler , failureHandler );
601
619
}
602
620
603
621
public void setUserId (@ Nullable String userId , @ Nullable String authToken ) {
622
+ setUserId (userId , authToken , null , null );
623
+ }
624
+
625
+ public void setUserId (@ Nullable String userId , @ Nullable String authToken , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
604
626
//If same non null userId is passed
605
627
if (_userId != null && _userId .equals (userId )) {
606
628
checkAndUpdateAuthToken (authToken );
@@ -615,6 +637,8 @@ public void setUserId(@Nullable String userId, @Nullable String authToken) {
615
637
616
638
_email = null ;
617
639
_userId = userId ;
640
+ _setUserSuccessCallbackHandler = successHandler ;
641
+ _setUserFailureCallbackHandler = failureHandler ;
618
642
storeAuthData ();
619
643
620
644
onLogin (authToken );
0 commit comments