diff options
author | Alon Albert <aalbert@google.com> | 2010-12-14 11:37:20 -0800 |
---|---|---|
committer | Alon Albert <aalbert@google.com> | 2010-12-15 14:28:52 -0800 |
commit | 744e310f6635026396e32ab0a2c009e464c2be3c (patch) | |
tree | 0ce53b6b7fdab20af26872ae7ab98280955b9b9d /core/java/android/content/SyncManager.java | |
parent | 936236c01d052727c11d6d4e9251746af3fad28e (diff) | |
download | frameworks_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.java | 15 |
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(); } } |