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

Commit 0ec65b00 authored by Kweku Adams's avatar Kweku Adams Committed by Android (Google) Code Review
Browse files

Merge "Fix EJ syncs." into sc-dev

parents 6e367d8a d23ce961
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -1703,7 +1703,7 @@ public class JobInfo implements Parcelable {
                throw new IllegalArgumentException("An expedited job cannot be periodic");
                throw new IllegalArgumentException("An expedited job cannot be periodic");
            }
            }
            if ((constraintFlags & ~CONSTRAINT_FLAG_STORAGE_NOT_LOW) != 0
            if ((constraintFlags & ~CONSTRAINT_FLAG_STORAGE_NOT_LOW) != 0
                    || (flags & ~FLAG_EXPEDITED) != 0) {
                    || (flags & ~(FLAG_EXPEDITED | FLAG_EXEMPT_FROM_APP_STANDBY)) != 0) {
                throw new IllegalArgumentException(
                throw new IllegalArgumentException(
                        "An expedited job can only have network and storage-not-low constraints");
                        "An expedited job can only have network and storage-not-low constraints");
            }
            }
+4 −5
Original line number Original line Diff line number Diff line
@@ -1478,13 +1478,12 @@ public class SyncManager {
                        + logSafe(syncOperation.target));
                        + logSafe(syncOperation.target));
                backoff = new Pair<Long, Long>(SyncStorageEngine.NOT_IN_BACKOFF_MODE,
                backoff = new Pair<Long, Long>(SyncStorageEngine.NOT_IN_BACKOFF_MODE,
                        SyncStorageEngine.NOT_IN_BACKOFF_MODE);
                        SyncStorageEngine.NOT_IN_BACKOFF_MODE);
            } else {
            } else if (backoff.first != SyncStorageEngine.NOT_IN_BACKOFF_MODE) {
                // if an EJ is being backed-off but doesn't have SYNC_EXTRAS_IGNORE_BACKOFF set,
                // if an EJ is being backed-off but doesn't have SYNC_EXTRAS_IGNORE_BACKOFF set,
                // reschedule it as a regular job
                // reschedule it as a regular job. Immediately downgrade here in case minDelay is
                if (syncOperation.isScheduledAsExpeditedJob()) {
                // set to 0.
                syncOperation.scheduleEjAsRegularJob = true;
                syncOperation.scheduleEjAsRegularJob = true;
            }
            }
            }
            long now = SystemClock.elapsedRealtime();
            long now = SystemClock.elapsedRealtime();
            long backoffDelay = backoff.first == SyncStorageEngine.NOT_IN_BACKOFF_MODE ? 0
            long backoffDelay = backoff.first == SyncStorageEngine.NOT_IN_BACKOFF_MODE ? 0
                    : backoff.first - now;
                    : backoff.first - now;
+2 −0
Original line number Original line Diff line number Diff line
@@ -258,6 +258,7 @@ public class SyncOperation {
        jobInfoExtras.putLong("expectedRuntime", expectedRuntime);
        jobInfoExtras.putLong("expectedRuntime", expectedRuntime);
        jobInfoExtras.putInt("retries", retries);
        jobInfoExtras.putInt("retries", retries);
        jobInfoExtras.putInt("syncExemptionFlag", syncExemptionFlag);
        jobInfoExtras.putInt("syncExemptionFlag", syncExemptionFlag);
        jobInfoExtras.putBoolean("ejDowngradedToRegular", scheduleEjAsRegularJob);
        return jobInfoExtras;
        return jobInfoExtras;
    }
    }


@@ -325,6 +326,7 @@ public class SyncOperation {
        op.jobId = jobExtras.getInt("jobId");
        op.jobId = jobExtras.getInt("jobId");
        op.expectedRuntime = jobExtras.getLong("expectedRuntime");
        op.expectedRuntime = jobExtras.getLong("expectedRuntime");
        op.retries = jobExtras.getInt("retries");
        op.retries = jobExtras.getInt("retries");
        op.scheduleEjAsRegularJob = jobExtras.getBoolean("ejDowngradedToRegular");
        return op;
        return op;
    }
    }