@@ -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 ;
@@ -317,6 +319,8 @@ private void completeUserLogin() {
317
319
318
320
if (config .autoPushRegistration ) {
319
321
registerForPush ();
322
+ } else if (_setUserSuccessCallbackHandler != null ) {
323
+ _setUserSuccessCallbackHandler .onSuccess (new JSONObject ()); // passing blank json object here as onSuccess is @Nonnull
320
324
}
321
325
322
326
getInAppManager ().syncInApp ();
@@ -510,7 +514,7 @@ protected void registerDeviceToken(@Nullable String email, @Nullable String user
510
514
IterableLogger .e (TAG , "registerDeviceToken: applicationName is null, check that pushIntegrationName is set in IterableConfig" );
511
515
}
512
516
513
- apiClient .registerDeviceToken (email , userId , authToken , applicationName , deviceToken , dataFields , deviceAttributes );
517
+ apiClient .registerDeviceToken (email , userId , authToken , applicationName , deviceToken , dataFields , deviceAttributes , _setUserSuccessCallbackHandler , _setUserFailureCallbackHandler );
514
518
}
515
519
//endregion
516
520
@@ -633,10 +637,18 @@ public IterableAttributionInfo getAttributionInfo() {
633
637
}
634
638
635
639
public void setEmail (@ Nullable String email ) {
636
- setEmail (email , null );
640
+ setEmail (email , null , null , null );
641
+ }
642
+
643
+ public void setEmail (@ Nullable String email , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
644
+ setEmail (email , null , successHandler , failureHandler );
637
645
}
638
646
639
647
public void setEmail (@ Nullable String email , @ Nullable String authToken ) {
648
+ setEmail (email , authToken , null , null );
649
+ }
650
+
651
+ public void setEmail (@ Nullable String email , @ Nullable String authToken , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
640
652
//Only if passed in same non-null email
641
653
if (_email != null && _email .equals (email )) {
642
654
checkAndUpdateAuthToken (authToken );
@@ -651,16 +663,26 @@ public void setEmail(@Nullable String email, @Nullable String authToken) {
651
663
652
664
_email = email ;
653
665
_userId = null ;
666
+ _setUserSuccessCallbackHandler = successHandler ;
667
+ _setUserFailureCallbackHandler = failureHandler ;
654
668
storeAuthData ();
655
669
656
670
onLogin (authToken );
657
671
}
658
672
659
673
public void setUserId (@ Nullable String userId ) {
660
- setUserId (userId , null );
674
+ setUserId (userId , null , null , null );
675
+ }
676
+
677
+ public void setUserId (@ Nullable String userId , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
678
+ setUserId (userId , null , successHandler , failureHandler );
661
679
}
662
680
663
681
public void setUserId (@ Nullable String userId , @ Nullable String authToken ) {
682
+ setUserId (userId , authToken , null , null );
683
+ }
684
+
685
+ public void setUserId (@ Nullable String userId , @ Nullable String authToken , @ Nullable IterableHelper .SuccessHandler successHandler , @ Nullable IterableHelper .FailureHandler failureHandler ) {
664
686
//If same non null userId is passed
665
687
if (_userId != null && _userId .equals (userId )) {
666
688
checkAndUpdateAuthToken (authToken );
@@ -675,6 +697,8 @@ public void setUserId(@Nullable String userId, @Nullable String authToken) {
675
697
676
698
_email = null ;
677
699
_userId = userId ;
700
+ _setUserSuccessCallbackHandler = successHandler ;
701
+ _setUserFailureCallbackHandler = failureHandler ;
678
702
storeAuthData ();
679
703
680
704
onLogin (authToken );
0 commit comments