diff options
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/content/SyncManager.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 4e9e49c..1f3fbf6 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"); |
