Merge "Mark RESTRICTED bucket stop reasons." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4d702dfc29
@@ -54,7 +54,8 @@ public class JobParameters implements Parcelable {
|
|||||||
*
|
*
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
public static final int REASON_RESTRAINED = JobProtoEnums.STOP_REASON_RESTRAINED; // 6.
|
public static final int REASON_RESTRICTED_BUCKET =
|
||||||
|
JobProtoEnums.STOP_REASON_RESTRICTED_BUCKET; // 6.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* All the stop reason codes. This should be regarded as an immutable array at runtime.
|
* All the stop reason codes. This should be regarded as an immutable array at runtime.
|
||||||
@@ -72,7 +73,7 @@ public class JobParameters implements Parcelable {
|
|||||||
REASON_TIMEOUT,
|
REASON_TIMEOUT,
|
||||||
REASON_DEVICE_IDLE,
|
REASON_DEVICE_IDLE,
|
||||||
REASON_DEVICE_THERMAL,
|
REASON_DEVICE_THERMAL,
|
||||||
REASON_RESTRAINED,
|
REASON_RESTRICTED_BUCKET,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -88,7 +89,7 @@ public class JobParameters implements Parcelable {
|
|||||||
case REASON_TIMEOUT: return "timeout";
|
case REASON_TIMEOUT: return "timeout";
|
||||||
case REASON_DEVICE_IDLE: return "device_idle";
|
case REASON_DEVICE_IDLE: return "device_idle";
|
||||||
case REASON_DEVICE_THERMAL: return "thermal";
|
case REASON_DEVICE_THERMAL: return "thermal";
|
||||||
case REASON_RESTRAINED: return "restrained";
|
case REASON_RESTRICTED_BUCKET: return "restricted_bucket";
|
||||||
default: return "unknown:" + reasonCode;
|
default: return "unknown:" + reasonCode;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1963,9 +1963,19 @@ public class JobSchedulerService extends com.android.server.SystemService
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (!running.isReady()) {
|
if (!running.isReady()) {
|
||||||
serviceContext.cancelExecutingJobLocked(
|
// If a restricted job doesn't have dynamic constraints satisfied, assume that's
|
||||||
JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED,
|
// the reason the job is being stopped, instead of because of other constraints
|
||||||
"cancelled due to unsatisfied constraints");
|
// not being satisfied.
|
||||||
|
if (running.getEffectiveStandbyBucket() == RESTRICTED_INDEX
|
||||||
|
&& !running.areDynamicConstraintsSatisfied()) {
|
||||||
|
serviceContext.cancelExecutingJobLocked(
|
||||||
|
JobParameters.REASON_RESTRICTED_BUCKET,
|
||||||
|
"cancelled due to restricted bucket");
|
||||||
|
} else {
|
||||||
|
serviceContext.cancelExecutingJobLocked(
|
||||||
|
JobParameters.REASON_CONSTRAINTS_NOT_SATISFIED,
|
||||||
|
"cancelled due to unsatisfied constraints");
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
final JobRestriction restriction = checkIfRestricted(running);
|
final JobRestriction restriction = checkIfRestricted(running);
|
||||||
if (restriction != null) {
|
if (restriction != null) {
|
||||||
|
|||||||
@@ -1293,6 +1293,11 @@ public final class JobStatus {
|
|||||||
CONSTRAINT_CHARGING | CONSTRAINT_BATTERY_NOT_LOW | CONSTRAINT_STORAGE_NOT_LOW
|
CONSTRAINT_CHARGING | CONSTRAINT_BATTERY_NOT_LOW | CONSTRAINT_STORAGE_NOT_LOW
|
||||||
| CONSTRAINT_TIMING_DELAY | CONSTRAINT_IDLE;
|
| CONSTRAINT_TIMING_DELAY | CONSTRAINT_IDLE;
|
||||||
|
|
||||||
|
/** Returns true whenever all dynamically set constraints are satisfied. */
|
||||||
|
public boolean areDynamicConstraintsSatisfied() {
|
||||||
|
return mReadyDynamicSatisfied;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return Whether the constraints set on this job are satisfied.
|
* @return Whether the constraints set on this job are satisfied.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -34,5 +34,5 @@ enum StopReasonEnum {
|
|||||||
STOP_REASON_TIMEOUT = 3;
|
STOP_REASON_TIMEOUT = 3;
|
||||||
STOP_REASON_DEVICE_IDLE = 4;
|
STOP_REASON_DEVICE_IDLE = 4;
|
||||||
STOP_REASON_DEVICE_THERMAL = 5;
|
STOP_REASON_DEVICE_THERMAL = 5;
|
||||||
STOP_REASON_RESTRAINED = 6;
|
STOP_REASON_RESTRICTED_BUCKET = 6;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user