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

Commit eadbe1db authored by Rubin Xu's avatar Rubin Xu Committed by Android (Google) Code Review
Browse files

Merge "Remove temporary workaround of restoring periodic syncs." into nyc-dev

parents 1271cef4 1bca793f
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -1402,24 +1402,12 @@ public class SyncManager {
        }
    }

    private void restoreLostPeriodicSyncsIfNeeded(int userId) {
        List<SyncOperation> periodicSyncs = new ArrayList<SyncOperation>();
        for (SyncOperation sync : getAllPendingSyncs()) {
            if (sync.isPeriodic && sync.target.userId == userId) {
                periodicSyncs.add(sync);
            }
        }
        mSyncStorageEngine.restorePeriodicSyncsIfNeededForUser(userId, periodicSyncs);
    }

    private void onUserUnlocked(int userId) {
        // Make sure that accounts we're about to use are valid.
        AccountManagerService.getSingleton().validateAccounts(userId);

        mSyncAdapters.invalidateCache(userId);

        restoreLostPeriodicSyncsIfNeeded(userId);

        EndPoint target = new EndPoint(null, null, userId);
        updateRunningAccounts(target);

+0 −29
Original line number Diff line number Diff line
@@ -826,35 +826,6 @@ public class SyncStorageEngine extends Handler {
        return true;
    }

    /**
     * STOPSHIP This is a temporary workaround and should be removed before shipping: b/28052438
     */
    void restorePeriodicSyncsIfNeededForUser(int userHandle, List<SyncOperation> periodicSyncs) {
        if (mPeriodicSyncAddedListener == null) {
            return;
        }
        synchronized (mAuthorities) {
            for (int i = 0; i < mAuthorities.size(); i++) {
                AuthorityInfo authority = mAuthorities.valueAt(i);
                if (authority.target.userId == userHandle && authority.enabled) {
                    boolean periodicSyncAlreadyExists = false;
                    for (SyncOperation sync : periodicSyncs) {
                        if (authority.target.matchesSpec(sync.target)) {
                            periodicSyncAlreadyExists = true;
                            break;
                        }
                    }
                    // The periodic sync must have been lost due to previous bug.
                    if (!periodicSyncAlreadyExists) {
                        mPeriodicSyncAddedListener.onPeriodicSyncAdded(authority.target,
                                new Bundle(), DEFAULT_POLL_FREQUENCY_SECONDS,
                                calculateDefaultFlexTime(DEFAULT_POLL_FREQUENCY_SECONDS));
                    }
                }
            }
        }
    }

    public void setMasterSyncAutomatically(boolean flag, int userId) {
        synchronized (mAuthorities) {
            Boolean auto = mMasterSyncAutomatically.get(userId);