Skip to content

Commit f3a783b

Browse files
committed
[MOB-11508] Track last processed auth token to improve token management
1 parent e8ff15e commit f3a783b

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

iterableapi/src/main/java/com/iterable/iterableapi/IterableAuthManager.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ public class IterableAuthManager implements IterableActivityMonitor.AppStateCall
2929
int retryCount;
3030
private boolean isLastAuthTokenValid;
3131
private boolean isTimerScheduled;
32+
private String lastProcessedToken;
3233

3334
private final ExecutorService executor = Executors.newSingleThreadExecutor();
3435

@@ -52,6 +53,7 @@ public void pauseAuthRetries(boolean pauseRetry) {
5253
void reset() {
5354
clearRefreshTimer();
5455
setIsLastAuthTokenValid(false);
56+
lastProcessedToken = null;
5557
IterableActivityMonitor.getInstance().removeCallback(this);
5658
}
5759

@@ -120,11 +122,13 @@ public void run() {
120122

121123
private void handleAuthTokenSuccess(String authToken, IterableHelper.SuccessHandler successCallback) {
122124
if (authToken != null) {
125+
lastProcessedToken = authToken;
123126
if (successCallback != null) {
124127
handleSuccessForAuthToken(authToken, successCallback);
125128
}
126129
queueExpirationRefresh(authToken);
127130
} else {
131+
lastProcessedToken = null;
128132
handleAuthFailure(authToken, AuthFailureReason.AUTH_TOKEN_NULL);
129133
IterableApi.getInstance().setAuthToken(authToken);
130134
scheduleAuthTokenRefresh(getNextRetryInterval(), false, null);
@@ -268,7 +272,7 @@ public void onSwitchToBackground() {
268272
public void onSwitchToForeground() {
269273
try {
270274
IterableLogger.v(TAG, "App switched to foreground. Re-evaluating auth token refresh.");
271-
String authToken = api.getAuthToken();
275+
String authToken = lastProcessedToken;
272276

273277
if (authToken != null) {
274278
queueExpirationRefresh(authToken);

0 commit comments

Comments
 (0)