From a30916707285048e0e9d1811f483984000429056 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Fri, 25 Jun 2021 16:43:45 -0700 Subject: [PATCH] Avoid unnecessary work. Only requested-expedited-jobs could have their run-in-bg constraint change (because of EJ quota) without a corresponding call coming through the ForceAppStandbyListener. Restrict job evaluation to requested-EJ jobs to avoid making unnecessary/redundant calls for regular jobs. Bug: 192105110 Test: atest frameworks/base/services/tests/mockingservicestests/src/com/android/server/job Test: atest frameworks/base/services/tests/servicestests/src/com/android/server/job Test: atest CtsJobSchedulerTestCases Change-Id: I9acc45e109c32fb77c79df4fe126a9b1845163ff --- .../server/job/controllers/BackgroundJobsController.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java b/apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java index 548a1ac143916..31a0853746e29 100644 --- a/apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java +++ b/apex/jobscheduler/service/java/com/android/server/job/controllers/BackgroundJobsController.java @@ -82,7 +82,11 @@ public final class BackgroundJobsController extends StateController { @Override public void evaluateStateLocked(JobStatus jobStatus) { - updateSingleJobRestrictionLocked(jobStatus, sElapsedRealtimeClock.millis(), UNKNOWN); + if (jobStatus.isRequestedExpeditedJob()) { + // Only requested-EJs could have their run-in-bg constraint change outside of something + // coming through the ForceAppStandbyListener. + updateSingleJobRestrictionLocked(jobStatus, sElapsedRealtimeClock.millis(), UNKNOWN); + } } @Override