Merge "Defer more Account actions until user starting." into jb-mr1-dev

This commit is contained in:
Jeff Sharkey
2012-10-18 00:00:40 -07:00
committed by Android (Google) Code Review
3 changed files with 5 additions and 9 deletions

View File

@@ -247,7 +247,6 @@ public class AccountManagerService
} }
public void systemReady() { public void systemReady() {
initUser(UserHandle.USER_OWNER);
} }
private UserManager getUserManager() { private UserManager getUserManager() {

View File

@@ -55,6 +55,7 @@ import android.text.format.Time;
import android.util.EventLog; import android.util.EventLog;
import android.util.Log; import android.util.Log;
import android.util.Pair; import android.util.Pair;
import android.util.Slog;
import com.android.internal.R; import com.android.internal.R;
import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.IndentingPrintWriter;
@@ -311,13 +312,10 @@ public class SyncManager {
if (userId == UserHandle.USER_NULL) return; if (userId == UserHandle.USER_NULL) return;
if (Intent.ACTION_USER_REMOVED.equals(action)) { if (Intent.ACTION_USER_REMOVED.equals(action)) {
Log.i(TAG, "User removed: u" + userId);
onUserRemoved(userId); onUserRemoved(userId);
} else if (Intent.ACTION_USER_STARTING.equals(action)) { } else if (Intent.ACTION_USER_STARTING.equals(action)) {
Log.i(TAG, "User starting: u" + userId);
onUserStarting(userId); onUserStarting(userId);
} else if (Intent.ACTION_USER_STOPPING.equals(action)) { } else if (Intent.ACTION_USER_STOPPING.equals(action)) {
Log.i(TAG, "User stopping: u" + userId);
onUserStopping(userId); onUserStopping(userId);
} }
} }
@@ -338,6 +336,10 @@ public class SyncManager {
} }
} }
/**
* Should only be created after {@link ContentService#systemReady()} so that
* {@link PackageManager} is ready to query.
*/
public SyncManager(Context context, boolean factoryTest) { public SyncManager(Context context, boolean factoryTest) {
// Initialize the SyncStorageEngine first, before registering observers // Initialize the SyncStorageEngine first, before registering observers
// and creating threads and so on; it may fail if the disk is full. // and creating threads and so on; it may fail if the disk is full.
@@ -441,9 +443,6 @@ public class SyncManager {
UserHandle.ALL, UserHandle.ALL,
new IntentFilter(AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION), new IntentFilter(AccountManager.LOGIN_ACCOUNTS_CHANGED_ACTION),
null, null); null, null);
// do this synchronously to ensure we have the accounts before this call returns
onUserStarting(UserHandle.USER_OWNER);
} }
// Pick a random second in a day to seed all periodic syncs // Pick a random second in a day to seed all periodic syncs

View File

@@ -51,8 +51,6 @@ public class SyncQueue {
public SyncQueue(SyncStorageEngine syncStorageEngine, final SyncAdaptersCache syncAdapters) { public SyncQueue(SyncStorageEngine syncStorageEngine, final SyncAdaptersCache syncAdapters) {
mSyncStorageEngine = syncStorageEngine; mSyncStorageEngine = syncStorageEngine;
mSyncAdapters = syncAdapters; mSyncAdapters = syncAdapters;
addPendingOperations(UserHandle.USER_OWNER);
} }
public void addPendingOperations(int userId) { public void addPendingOperations(int userId) {