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

Commit a97c5dce authored by Chris Tate's avatar Chris Tate Committed by android-build-merger
Browse files

Merge "Reschedule jobs that crash partway through" into oc-dev am: 4a0e84b4

am: 4f81ea1b

Change-Id: I1d7251641d7cb0472d844b6b7b42e024c288e46d
parents cb363ec4 4f81ea1b
Loading
Loading
Loading
Loading
+15 −2
Original line number Diff line number Diff line
@@ -83,6 +83,9 @@ public class JobInfo implements Parcelable {
    /* Minimum flex for a periodic job, in milliseconds. */
    private static final long MIN_FLEX_MILLIS = 5 * 60 * 1000L; // 5 minutes

    /* Minimum backoff interval for a job, in milliseconds */
    private static final long MIN_BACKOFF_MILLIS = 10 * 1000L;      // 10 seconds

    /**
     * Query the minimum interval allowed for periodic scheduled jobs.  Attempting
     * to declare a smaller period that this when scheduling a job will result in a
@@ -105,6 +108,14 @@ public class JobInfo implements Parcelable {
        return MIN_FLEX_MILLIS;
    }

    /**
     * Query the minimum automatic-reschedule backoff interval permitted for jobs.
     * @hide
     */
    public static final long getMinBackoffMillis() {
        return MIN_BACKOFF_MILLIS;
    }

    /**
     * Default type of backoff.
     * @hide
@@ -361,7 +372,8 @@ public class JobInfo implements Parcelable {
     * job does not recur periodically.
     */
    public long getIntervalMillis() {
        return intervalMillis >= getMinPeriodMillis() ? intervalMillis : getMinPeriodMillis();
        final long minInterval = getMinPeriodMillis();
        return intervalMillis >= minInterval ? intervalMillis : minInterval;
    }

    /**
@@ -381,7 +393,8 @@ public class JobInfo implements Parcelable {
     * to 5 seconds.
     */
    public long getInitialBackoffMillis() {
        return initialBackoffMillis;
        final long minBackoff = getMinBackoffMillis();
        return initialBackoffMillis >= minBackoff ? initialBackoffMillis : minBackoff;
    }

    /**
+2 −1
Original line number Diff line number Diff line
@@ -597,7 +597,8 @@ public class JobServiceContext extends IJobCallback.Stub implements ServiceConne
                service.stopJob(mParams);
            } catch (RemoteException e) {
                Slog.e(TAG, "Error sending onStopJob to client.", e);
                closeAndCleanupJobH(false /* reschedule */);
                // The job's host app apparently crashed during the job, so we should reschedule.
                closeAndCleanupJobH(true /* reschedule */);
            }
        }