Merge "Disallow long regular jobs in Doze and battery saver." into sc-dev

This commit is contained in:
Kweku Adams
2021-03-01 18:38:39 +00:00
committed by Android (Google) Code Review

View File

@@ -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