summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Amith Yamasani <yamasani@google.com> 2012-09-26 17:46:36 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2012-09-26 17:46:37 -0700
commit38796fe16266e22c56d2eee3eb63fac0cb926aaa (patch)
tree517329b37bfa4f12019ad073649a7eb10994987b
parenteed8f06f7f5d8f934ea99f16ef987a3ae1bd99b2 (diff)
parentd648a605e8249219ce60ac93e074758ebb6fc4ab (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.java13
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);
}