Merge "Exclude user-initiated jobs from flex constraints."

This commit is contained in:
Kweku Adams
2022-12-15 21:15:46 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 1 deletions

View File

@@ -607,7 +607,7 @@ public final class JobStatus {
// The first time a job is rescheduled it will not be subject to flexible constraints.
// Otherwise, every consecutive reschedule increases a jobs' flexibility deadline.
if (!isRequestedExpeditedJob()
if (!isRequestedExpeditedJob() && !job.isUserInitiated()
&& satisfiesMinWindowException
&& (numFailures + numSystemStops) != 1
&& lacksSomeFlexibleConstraints) {

View File

@@ -616,6 +616,14 @@ public class FlexibilityControllerTest {
assertFalse(js.hasFlexibilityConstraint());
}
@Test
public void testExceptions_UserInitiated() {
JobInfo.Builder jb = createJob(0);
jb.setUserInitiated(true);
JobStatus js = createJobStatus("testExceptions_UserInitiated", jb);
assertFalse(js.hasFlexibilityConstraint());
}
@Test
public void testExceptions_ShortWindow() {
JobInfo.Builder jb = createJob(0);