@@ -229,9 +229,9 @@ void setAuthToken(String authToken, boolean bypassAuth) {
229
229
if ((authToken != null && !authToken .equalsIgnoreCase (_authToken )) || (_authToken != null && !_authToken .equalsIgnoreCase (authToken ))) {
230
230
_authToken = authToken ;
231
231
storeAuthData ();
232
- onLogIn ();
232
+ completeUserLogin ();
233
233
} else if (bypassAuth ) {
234
- onLogIn ();
234
+ completeUserLogin ();
235
235
}
236
236
}
237
237
}
@@ -347,6 +347,10 @@ public void execute(@Nullable String data) {
347
347
* @param email User email
348
348
*/
349
349
public void setEmail (@ Nullable String email ) {
350
+ setEmail (email , null );
351
+ }
352
+
353
+ public void setEmail (@ Nullable String email , @ Nullable String authToken ) {
350
354
if (_email != null && _email .equals (email )) {
351
355
return ;
352
356
}
@@ -355,16 +359,13 @@ public void setEmail(@Nullable String email) {
355
359
return ;
356
360
}
357
361
358
- onLogOut ();
362
+ logoutPreviousUser ();
363
+
359
364
_email = email ;
360
365
_userId = null ;
361
366
storeAuthData ();
362
367
363
- if (email != null ) {
364
- getAuthManager ().requestNewAuthToken (false );
365
- } else {
366
- setAuthToken (null );
367
- }
368
+ onLogin (authToken );
368
369
}
369
370
370
371
/**
@@ -375,6 +376,10 @@ public void setEmail(@Nullable String email) {
375
376
* @param userId User ID
376
377
*/
377
378
public void setUserId (@ Nullable String userId ) {
379
+ setUserId (userId , null );
380
+ }
381
+
382
+ public void setUserId (@ Nullable String userId , @ Nullable String authToken ) {
378
383
if (_userId != null && _userId .equals (userId )) {
379
384
return ;
380
385
}
@@ -383,16 +388,13 @@ public void setUserId(@Nullable String userId) {
383
388
return ;
384
389
}
385
390
386
- onLogOut ();
391
+ logoutPreviousUser ();
392
+
387
393
_email = null ;
388
394
_userId = userId ;
389
395
storeAuthData ();
390
396
391
- if (userId != null ) {
392
- getAuthManager ().requestNewAuthToken (false );
393
- } else {
394
- setAuthToken (null );
395
- }
397
+ onLogin (authToken );
396
398
}
397
399
398
400
/**
@@ -1080,23 +1082,39 @@ private void retrieveEmailAndUserId() {
1080
1082
}
1081
1083
}
1082
1084
1083
- private void onLogOut () {
1085
+ private void logoutPreviousUser () {
1084
1086
if (config .autoPushRegistration && isInitialized ()) {
1085
1087
disablePush ();
1086
1088
}
1089
+
1087
1090
getInAppManager ().reset ();
1088
1091
getAuthManager ().clearRefreshTimer ();
1092
+
1089
1093
apiClient .onLogout ();
1090
1094
}
1091
1095
1092
- private void onLogIn () {
1096
+ private void onLogin (@ Nullable String authToken ) {
1097
+ if (!isInitialized ()) {
1098
+ setAuthToken (null );
1099
+ return ;
1100
+ }
1101
+
1102
+ if (authToken != null ) {
1103
+ setAuthToken (authToken );
1104
+ } else {
1105
+ getAuthManager ().requestNewAuthToken (false );
1106
+ }
1107
+ }
1108
+
1109
+ private void completeUserLogin () {
1093
1110
if (!isInitialized ()) {
1094
1111
return ;
1095
1112
}
1096
1113
1097
1114
if (config .autoPushRegistration ) {
1098
1115
registerForPush ();
1099
1116
}
1117
+
1100
1118
getInAppManager ().syncInApp ();
1101
1119
}
1102
1120
@@ -1110,7 +1128,6 @@ public void clearInboxSessionId() {
1110
1128
this .inboxSessionId = null ;
1111
1129
}
1112
1130
1113
-
1114
1131
private class IterableApiAuthProvider implements IterableApiClient .AuthProvider {
1115
1132
@ Nullable
1116
1133
@ Override
0 commit comments