summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/SyncManager.java
diff options
context:
space:
mode:
authorAlon Albert <aalbert@google.com>2010-12-14 11:37:20 -0800
committerAlon Albert <aalbert@google.com>2010-12-15 14:28:52 -0800
commit744e310f6635026396e32ab0a2c009e464c2be3c (patch)
tree0ce53b6b7fdab20af26872ae7ab98280955b9b9d /core/java/android/content/SyncManager.java
parent936236c01d052727c11d6d4e9251746af3fad28e (diff)
downloadframeworks_base-744e310f6635026396e32ab0a2c009e464c2be3c.zip
frameworks_base-744e310f6635026396e32ab0a2c009e464c2be3c.tar.gz
frameworks_base-744e310f6635026396e32ab0a2c009e464c2be3c.tar.bz2
Clear all pending backoffs on a reconnect event
Change-Id: I509e2c6c9d95922d196ac805eded523b674ad805
Diffstat (limited to 'core/java/android/content/SyncManager.java')
-rw-r--r--core/java/android/content/SyncManager.java15
1 files changed, 9 insertions, 6 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java
index e07dbb8..599429b 100644
--- a/core/java/android/content/SyncManager.java
+++ b/core/java/android/content/SyncManager.java
@@ -17,7 +17,6 @@
package android.content;
import android.os.Bundle;
-import android.os.Debug;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.IBinder;
@@ -246,6 +245,7 @@ public class SyncManager implements OnAccountsUpdateListener {
Log.v(TAG, "received connectivity action. network info: " + networkInfo);
}
+ final boolean wasConnected = mDataConnectionIsConnected;
// only pay attention to the CONNECTED and DISCONNECTED states.
// if connected, we are connected.
// if disconnected, we may not be connected. in some cases, we may be connected on
@@ -259,16 +259,19 @@ public class SyncManager implements OnAccountsUpdateListener {
mDataConnectionIsConnected = true;
break;
case DISCONNECTED:
- if (intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false)) {
- mDataConnectionIsConnected = false;
- } else {
- mDataConnectionIsConnected = true;
- }
+ mDataConnectionIsConnected = !intent.getBooleanExtra(
+ ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
break;
default:
// ignore the rest of the states -- leave our boolean alone.
}
if (mDataConnectionIsConnected) {
+ if (!wasConnected) {
+ if (Log.isLoggable(TAG, Log.VERBOSE)) {
+ Log.v(TAG, "Reconnection detected: clearing all backoffs");
+ }
+ mSyncStorageEngine.clearAllBackoffs();
+ }
sendCheckAlarmsMessage();
}
}