Merge "Lower the minimum period for periodic jobs to 15 minutes" into nyc-dev
This commit is contained in:
@@ -6265,6 +6265,8 @@ package android.app.job {
|
||||
method public long getIntervalMillis();
|
||||
method public long getMaxExecutionDelayMillis();
|
||||
method public long getMinLatencyMillis();
|
||||
method public static final long getMinimumFlex();
|
||||
method public static final long getMinimumPeriod();
|
||||
method public int getNetworkType();
|
||||
method public android.content.ComponentName getService();
|
||||
method public android.app.job.JobInfo.TriggerContentUri[] getTriggerContentUris();
|
||||
@@ -6278,8 +6280,6 @@ package android.app.job {
|
||||
field public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
|
||||
field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
|
||||
field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
|
||||
field public static final long MIN_FLEX_MILLIS = 300000L; // 0x493e0L
|
||||
field public static final long MIN_PERIOD_MILLIS = 3600000L; // 0x36ee80L
|
||||
field public static final int NETWORK_TYPE_ANY = 1; // 0x1
|
||||
field public static final int NETWORK_TYPE_NONE = 0; // 0x0
|
||||
field public static final int NETWORK_TYPE_UNMETERED = 2; // 0x2
|
||||
|
||||
@@ -6531,6 +6531,8 @@ package android.app.job {
|
||||
method public long getIntervalMillis();
|
||||
method public long getMaxExecutionDelayMillis();
|
||||
method public long getMinLatencyMillis();
|
||||
method public static final long getMinimumFlex();
|
||||
method public static final long getMinimumPeriod();
|
||||
method public int getNetworkType();
|
||||
method public android.content.ComponentName getService();
|
||||
method public android.app.job.JobInfo.TriggerContentUri[] getTriggerContentUris();
|
||||
@@ -6544,8 +6546,6 @@ package android.app.job {
|
||||
field public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
|
||||
field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
|
||||
field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
|
||||
field public static final long MIN_FLEX_MILLIS = 300000L; // 0x493e0L
|
||||
field public static final long MIN_PERIOD_MILLIS = 3600000L; // 0x36ee80L
|
||||
field public static final int NETWORK_TYPE_ANY = 1; // 0x1
|
||||
field public static final int NETWORK_TYPE_NONE = 0; // 0x0
|
||||
field public static final int NETWORK_TYPE_UNMETERED = 2; // 0x2
|
||||
|
||||
@@ -6269,6 +6269,8 @@ package android.app.job {
|
||||
method public long getIntervalMillis();
|
||||
method public long getMaxExecutionDelayMillis();
|
||||
method public long getMinLatencyMillis();
|
||||
method public static final long getMinimumFlex();
|
||||
method public static final long getMinimumPeriod();
|
||||
method public int getNetworkType();
|
||||
method public android.content.ComponentName getService();
|
||||
method public android.app.job.JobInfo.TriggerContentUri[] getTriggerContentUris();
|
||||
@@ -6282,8 +6284,6 @@ package android.app.job {
|
||||
field public static final android.os.Parcelable.Creator<android.app.job.JobInfo> CREATOR;
|
||||
field public static final long DEFAULT_INITIAL_BACKOFF_MILLIS = 30000L; // 0x7530L
|
||||
field public static final long MAX_BACKOFF_DELAY_MILLIS = 18000000L; // 0x112a880L
|
||||
field public static final long MIN_FLEX_MILLIS = 300000L; // 0x493e0L
|
||||
field public static final long MIN_PERIOD_MILLIS = 3600000L; // 0x36ee80L
|
||||
field public static final int NETWORK_TYPE_ANY = 1; // 0x1
|
||||
field public static final int NETWORK_TYPE_NONE = 0; // 0x0
|
||||
field public static final int NETWORK_TYPE_UNMETERED = 2; // 0x2
|
||||
|
||||
@@ -73,9 +73,32 @@ public class JobInfo implements Parcelable {
|
||||
public static final int BACKOFF_POLICY_EXPONENTIAL = 1;
|
||||
|
||||
/* Minimum interval for a periodic job, in milliseconds. */
|
||||
public static final long MIN_PERIOD_MILLIS = 60 * 60 * 1000L; // 60 minutes
|
||||
private static final long MIN_PERIOD_MILLIS = 15 * 60 * 1000L; // 15 minutes
|
||||
|
||||
/* Minimum flex for a periodic job, in milliseconds. */
|
||||
public static final long MIN_FLEX_MILLIS = 5 * 60 * 1000L; // 5 minutes
|
||||
private static final long MIN_FLEX_MILLIS = 5 * 60 * 1000L; // 5 minutes
|
||||
|
||||
/**
|
||||
* 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
|
||||
* job that is still periodic, but will run with this effective period.
|
||||
*
|
||||
* @return The minimum available interval for scheduling periodic jobs, in milliseconds.
|
||||
*/
|
||||
public static final long getMinimumPeriod() {
|
||||
return MIN_PERIOD_MILLIS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Query the minimum flex time allowed for periodic scheduled jobs. Attempting
|
||||
* to declare a shorter flex time than this when scheduling such a job will
|
||||
* result in this amount as the effective flex time for the job.
|
||||
*
|
||||
* @return The minimum available flex time for scheduling periodic jobs, in milliseconds.
|
||||
*/
|
||||
public static final long getMinimumFlex() {
|
||||
return MIN_FLEX_MILLIS;
|
||||
}
|
||||
|
||||
/**
|
||||
* Default type of backoff.
|
||||
@@ -227,7 +250,7 @@ public class JobInfo implements Parcelable {
|
||||
* job does not recur periodically.
|
||||
*/
|
||||
public long getIntervalMillis() {
|
||||
return intervalMillis >= MIN_PERIOD_MILLIS ? intervalMillis : MIN_PERIOD_MILLIS;
|
||||
return intervalMillis >= getMinimumPeriod() ? intervalMillis : getMinimumPeriod();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -236,7 +259,7 @@ public class JobInfo implements Parcelable {
|
||||
public long getFlexMillis() {
|
||||
long interval = getIntervalMillis();
|
||||
long percentClamp = 5 * interval / 100;
|
||||
long clampedFlex = Math.max(flexMillis, Math.max(percentClamp, MIN_FLEX_MILLIS));
|
||||
long clampedFlex = Math.max(flexMillis, Math.max(percentClamp, getMinimumFlex()));
|
||||
return clampedFlex <= interval ? clampedFlex : interval;
|
||||
}
|
||||
|
||||
@@ -565,9 +588,9 @@ public class JobInfo implements Parcelable {
|
||||
* Specify that this job should recur with the provided interval and flex. The job can
|
||||
* execute at any time in a window of flex length at the end of the period.
|
||||
* @param intervalMillis Millisecond interval for which this job will repeat. A minimum
|
||||
* value of {@link #MIN_PERIOD_MILLIS} is enforced.
|
||||
* value of {@link #getMinimumPeriod()} is enforced.
|
||||
* @param flexMillis Millisecond flex for this job. Flex is clamped to be at least
|
||||
* {@link #MIN_FLEX_MILLIS} or 5 percent of the period, whichever is
|
||||
* {@link #getMinimumFlex()} or 5 percent of the period, whichever is
|
||||
* higher.
|
||||
*/
|
||||
public Builder setPeriodic(long intervalMillis, long flexMillis) {
|
||||
|
||||
Reference in New Issue
Block a user