diff options
| author | 2012-09-26 17:46:36 -0700 | |
|---|---|---|
| committer | 2012-09-26 17:46:37 -0700 | |
| commit | 38796fe16266e22c56d2eee3eb63fac0cb926aaa (patch) | |
| tree | 517329b37bfa4f12019ad073649a7eb10994987b | |
| parent | eed8f06f7f5d8f934ea99f16ef987a3ae1bd99b2 (diff) | |
| parent | d648a605e8249219ce60ac93e074758ebb6fc4ab (diff) | |
Merge "Fix sync problems when setting up a new user and account" into jb-mr1-dev
| -rw-r--r-- | core/java/android/content/SyncManager.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/core/java/android/content/SyncManager.java b/core/java/android/content/SyncManager.java index 4257e0e62928..4999a2d0e255 100644 --- a/core/java/android/content/SyncManager.java +++ b/core/java/android/content/SyncManager.java @@ -203,6 +203,12 @@ public class SyncManager implements OnAccountsUpdateListener { } }; + private BroadcastReceiver mAccountsUpdatedReceiver = new BroadcastReceiver() { + public void onReceive(Context context, Intent intent) { + onAccountsUpdated(null); + } + }; + private final PowerManager mPowerManager; // Use this as a random offset to seed all periodic syncs @@ -456,8 +462,11 @@ public class SyncManager implements OnAccountsUpdateListener { }); if (!factoryTest) { - AccountManager.get(mContext).addOnAccountsUpdatedListener(SyncManager.this, - mSyncHandler, false /* updateImmediately */); + // Register for account list updates for all users + mContext.registerReceiverAsUser(mAccountsUpdatedReceiver, + UserHandle.ALL, + new IntentFilter(AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION), + null, null); // do this synchronously to ensure we have the accounts before this call returns onAccountsUpdated(null); } |