@@ -29,6 +29,7 @@ public class IterableAuthManager implements IterableActivityMonitor.AppStateCall
29
29
int retryCount ;
30
30
private boolean isLastAuthTokenValid ;
31
31
private boolean isTimerScheduled ;
32
+ private String lastProcessedToken ;
32
33
33
34
private final ExecutorService executor = Executors .newSingleThreadExecutor ();
34
35
@@ -52,6 +53,7 @@ public void pauseAuthRetries(boolean pauseRetry) {
52
53
void reset () {
53
54
clearRefreshTimer ();
54
55
setIsLastAuthTokenValid (false );
56
+ lastProcessedToken = null ;
55
57
IterableActivityMonitor .getInstance ().removeCallback (this );
56
58
}
57
59
@@ -120,11 +122,13 @@ public void run() {
120
122
121
123
private void handleAuthTokenSuccess (String authToken , IterableHelper .SuccessHandler successCallback ) {
122
124
if (authToken != null ) {
125
+ lastProcessedToken = authToken ;
123
126
if (successCallback != null ) {
124
127
handleSuccessForAuthToken (authToken , successCallback );
125
128
}
126
129
queueExpirationRefresh (authToken );
127
130
} else {
131
+ lastProcessedToken = null ;
128
132
handleAuthFailure (authToken , AuthFailureReason .AUTH_TOKEN_NULL );
129
133
IterableApi .getInstance ().setAuthToken (authToken );
130
134
scheduleAuthTokenRefresh (getNextRetryInterval (), false , null );
@@ -268,7 +272,7 @@ public void onSwitchToBackground() {
268
272
public void onSwitchToForeground () {
269
273
try {
270
274
IterableLogger .v (TAG , "App switched to foreground. Re-evaluating auth token refresh." );
271
- String authToken = api . getAuthToken () ;
275
+ String authToken = lastProcessedToken ;
272
276
273
277
if (authToken != null ) {
274
278
queueExpirationRefresh (authToken );
0 commit comments