am 26e3f3df: Merge "Database cleanup needs to happen for all users." into jb-mr1-dev

* commit '26e3f3df8761ee3c75155ca848d29cfe820a2a8c':
  Database cleanup needs to happen for all users.
This commit is contained in:
Jeff Sharkey
2012-10-11 11:15:33 -07:00
committed by Android Git Automerger

View File

@@ -243,6 +243,10 @@ public class SyncManager {
public void updateRunningAccounts() {
mRunningAccounts = AccountManagerService.getSingleton().getRunningAccounts();
if (mBootCompleted) {
doDatabaseCleanup();
}
for (ActiveSyncContext currentSyncContext : mActiveSyncContexts) {
if (!containsAccountAndUser(mRunningAccounts,
currentSyncContext.mSyncOperation.account,
@@ -258,6 +262,13 @@ public class SyncManager {
sendCheckAlarmsMessage();
}
private void doDatabaseCleanup() {
for (UserInfo user : mUserManager.getUsers()) {
Account[] accountsForUser = AccountManagerService.getSingleton().getAccounts(user.id);
mSyncStorageEngine.doDatabaseCleanup(accountsForUser, user.id);
}
}
private BroadcastReceiver mConnectivityIntentReceiver =
new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
@@ -891,12 +902,10 @@ public class SyncManager {
updateRunningAccounts();
final Account[] accounts = AccountManagerService.getSingleton().getAccounts(userId);
mSyncStorageEngine.doDatabaseCleanup(accounts, userId);
mSyncQueue.addPendingOperations(userId);
// Schedule sync for any accounts under started user
final Account[] accounts = AccountManagerService.getSingleton().getAccounts(userId);
for (Account account : accounts) {
scheduleSync(account, userId, null, null, 0 /* no delay */,
true /* onlyThoseWithUnknownSyncableState */);
@@ -1619,6 +1628,8 @@ public class SyncManager {
public void onBootCompleted() {
mBootCompleted = true;
doDatabaseCleanup();
if (mReadyToRunLatch != null) {
mReadyToRunLatch.countDown();
}