diff options
| author | 2021-03-01 18:38:39 +0000 | |
|---|---|---|
| committer | 2021-03-01 18:38:39 +0000 | |
| commit | 94691f3cbd900e25c26b10d4c55a2d90d678c861 (patch) | |
| tree | cb4ecc2e998a43e038963d1c89f7270ba1b925ce | |
| parent | 93d631e2f0af446fcf11d90ce06fd25a8bd4734d (diff) | |
| parent | d942698ccca4f603e370b97a6ca2736824c2230b (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.java | 20 |
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 |