Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26e3f3df authored by Jeff Sharkey's avatar Jeff Sharkey Committed by Android (Google) Code Review
Browse files

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

parents e60cdf12 8f55d112
Loading
Loading
Loading
Loading
+14 −3
Original line number Diff line number Diff line
@@ -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();
            }