From 4f9cfc5c52c8b40975c1bc2829efa46b4bddb03f Mon Sep 17 00:00:00 2001 From: Fred Quintana Date: Wed, 2 Sep 2009 15:20:23 -0700 Subject: [PATCH] suppress syncs until boot is complete --- core/java/android/content/SyncManager.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 4e9e49c1be80e..1f3fbf6645345 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -177,6 +177,7 @@ class SyncManager implements OnAccountsUpdatedListener { private BroadcastReceiver mBootCompletedReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { if (!mFactoryTest) { + mBootCompleted = true; AccountManager.get(mContext).addOnAccountsUpdatedListener(SyncManager.this, mSyncHandler, true /* updateImmediately */); } @@ -283,6 +284,8 @@ class SyncManager implements OnAccountsUpdatedListener { private final boolean mFactoryTest; + private volatile boolean mBootCompleted = false; + private ConnectivityManager getConnectivityManager() { synchronized (this) { if (mConnManagerDoNotUseDirectly == null) { @@ -541,6 +544,13 @@ class SyncManager implements OnAccountsUpdatedListener { Bundle extras, long delay, boolean onlyThoseWithUnkownSyncableState) { boolean isLoggable = Log.isLoggable(TAG, Log.VERBOSE); + if (!mBootCompleted) { + if (isLoggable) { + Log.v(TAG, "suppressing scheduleSync() since boot hasn't completed"); + } + return; + } + if (!isSyncEnabled()) { if (isLoggable) { Log.v(TAG, "not syncing because sync is disabled");