Skip to content

Commit 8f55d11

Browse files
committed
Database cleanup needs to happen for all users.
Bug: 6970084 Change-Id: I9a6f1cbaf095b245ec9707a90c518256e0aa1f5f
1 parent e1f4ebf commit 8f55d11

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

core/java/android/content/SyncManager.java

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,10 @@ private boolean containsAccountAndUser(AccountAndUser[] accounts, Account accoun
243243
public void updateRunningAccounts() {
244244
mRunningAccounts = AccountManagerService.getSingleton().getRunningAccounts();
245245

246+
if (mBootCompleted) {
247+
doDatabaseCleanup();
248+
}
249+
246250
for (ActiveSyncContext currentSyncContext : mActiveSyncContexts) {
247251
if (!containsAccountAndUser(mRunningAccounts,
248252
currentSyncContext.mSyncOperation.account,
@@ -258,6 +262,13 @@ public void updateRunningAccounts() {
258262
sendCheckAlarmsMessage();
259263
}
260264

265+
private void doDatabaseCleanup() {
266+
for (UserInfo user : mUserManager.getUsers()) {
267+
Account[] accountsForUser = AccountManagerService.getSingleton().getAccounts(user.id);
268+
mSyncStorageEngine.doDatabaseCleanup(accountsForUser, user.id);
269+
}
270+
}
271+
261272
private BroadcastReceiver mConnectivityIntentReceiver =
262273
new BroadcastReceiver() {
263274
public void onReceive(Context context, Intent intent) {
@@ -891,12 +902,10 @@ private void onUserStarting(int userId) {
891902

892903
updateRunningAccounts();
893904

894-
final Account[] accounts = AccountManagerService.getSingleton().getAccounts(userId);
895-
mSyncStorageEngine.doDatabaseCleanup(accounts, userId);
896-
897905
mSyncQueue.addPendingOperations(userId);
898906

899907
// Schedule sync for any accounts under started user
908+
final Account[] accounts = AccountManagerService.getSingleton().getAccounts(userId);
900909
for (Account account : accounts) {
901910
scheduleSync(account, userId, null, null, 0 /* no delay */,
902911
true /* onlyThoseWithUnknownSyncableState */);
@@ -1619,6 +1628,8 @@ class SyncHandler extends Handler {
16191628
public void onBootCompleted() {
16201629
mBootCompleted = true;
16211630

1631+
doDatabaseCleanup();
1632+
16221633
if (mReadyToRunLatch != null) {
16231634
mReadyToRunLatch.countDown();
16241635
}

0 commit comments

Comments
 (0)