summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kweku Adams <kwekua@google.com> 2021-03-01 18:38:39 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2021-03-01 18:38:39 +0000
commit94691f3cbd900e25c26b10d4c55a2d90d678c861 (patch)
treecb4ecc2e998a43e038963d1c89f7270ba1b925ce
parent93d631e2f0af446fcf11d90ce06fd25a8bd4734d (diff)
parentd942698ccca4f603e370b97a6ca2736824c2230b (diff)
Merge "Disallow long regular jobs in Doze and battery saver." into sc-dev
-rw-r--r--apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java20
1 files changed, 11 insertions, 9 deletions
diff --git a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java
index af9771553063..e8e2c27f1554 100644
--- a/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java
+++ b/apex/jobscheduler/service/java/com/android/server/job/JobConcurrencyManager.java
@@ -753,13 +753,22 @@ class JobConcurrencyManager {
return null;
}
+ // We're over the minimum guaranteed runtime. Stop the job if we're over config limits,
+ // there are pending jobs that could replace this one, or the device state is not conducive
+ // to long runs.
+
+ if (mPowerManager.isPowerSaveMode()) {
+ return "battery saver";
+ }
+ if (mPowerManager.isDeviceIdleMode()) {
+ return "deep doze";
+ }
+
// Update config in case memory usage has changed significantly.
updateCounterConfigLocked();
@WorkType final int workType = context.getRunningJobWorkType();
- // We're over the minimum guaranteed runtime. Stop the job if we're over config limits or
- // there are pending jobs that could replace this one.
if (mRunningJobs.size() > mWorkTypeConfig.getMaxTotal()
|| mWorkCountTracker.isOverTypeLimit(workType)) {
return "too many jobs running";
@@ -786,13 +795,6 @@ class JobConcurrencyManager {
return "blocking " + workTypeToString(workType) + " queue";
}
}
-
- if (mPowerManager.isPowerSaveMode()) {
- return "battery saver";
- }
- if (mPowerManager.isDeviceIdleMode()) {
- return "deep doze";
- }
}
// Easy check. If there are pending jobs of the same work type, then we know that