Exclude user-initiated jobs from flex constraints.

Bug: 261999509
Test: atest FrameworksMockingServicesTests:FlexibilityControllerTest
Change-Id: Idf7e716d9b41ff89973d445417a2ee0cbaf27dfe
This commit is contained in:
Kweku Adams
2022-12-13 19:50:47 +00:00
parent 9999839191
commit e0f6851252
2 changed files with 9 additions and 1 deletions

View File

@@ -605,7 +605,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);