From f996c2c8c966ec36e4b9820370bc6244bcb177e8 Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Fri, 25 Jan 2019 15:18:48 -0800 Subject: [PATCH] Fix job scheduler constant Test: manual test with "adb shell settings put..." and "dumpsys jobscheduler" Bug: 111360323 Change-Id: I2266bc0d4e75e9e374f3fe49d3e640b9f5712476 --- .../java/android/util/KeyValueListParser.java | 53 +++++++++++++++++++ .../server/job/JobSchedulerService.java | 2 + 2 files changed, 55 insertions(+) diff --git a/core/java/android/util/KeyValueListParser.java b/core/java/android/util/KeyValueListParser.java index d051ed84dd7cb..fbc66e6bda2ad 100644 --- a/core/java/android/util/KeyValueListParser.java +++ b/core/java/android/util/KeyValueListParser.java @@ -373,4 +373,57 @@ public class KeyValueListParser { proto.write(tag, mValue); } } + + /** Represents an float config value. */ + public static class FloatValue { + private final String mKey; + private final float mDefaultValue; + private float mValue; + + /** Constructor, initialize with a config key and a default value. */ + public FloatValue(String key, float defaultValue) { + mKey = key; + mDefaultValue = defaultValue; + mValue = mDefaultValue; + } + + /** Read a value from {@link KeyValueListParser} */ + public void parse(KeyValueListParser parser) { + mValue = parser.getFloat(mKey, mDefaultValue); + } + + /** Return the config key. */ + public String getKey() { + return mKey; + } + + /** Return the default value. */ + public float getDefaultValue() { + return mDefaultValue; + } + + /** Return the actual config value. */ + public float getValue() { + return mValue; + } + + /** Overwrites with a value. */ + public void setValue(float value) { + mValue = value; + } + + /** Used for dumpsys */ + public void dump(PrintWriter pw, String prefix) { + pw.print(prefix); + pw.print(mKey); + pw.print("="); + pw.print(mValue); + pw.println(); + } + + /** Used for proto dumpsys */ + public void dumpProto(ProtoOutputStream proto, long tag) { + proto.write(tag, mValue); + } + } } diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java index 7625aafd09070..f6120705913f0 100644 --- a/services/core/java/com/android/server/job/JobSchedulerService.java +++ b/services/core/java/com/android/server/job/JobSchedulerService.java @@ -810,6 +810,8 @@ public class JobSchedulerService extends com.android.server.SystemService MAX_JOB_COUNTS_SCREEN_OFF.low.parse(mParser); MAX_JOB_COUNTS_SCREEN_OFF.critical.parse(mParser); + SCREEN_OFF_JOB_CONCURRENCY_INCREASE_DELAY_MS.parse(mParser); + MAX_STANDARD_RESCHEDULE_COUNT = mParser.getInt(KEY_MAX_STANDARD_RESCHEDULE_COUNT, DEFAULT_MAX_STANDARD_RESCHEDULE_COUNT); MAX_WORK_RESCHEDULE_COUNT = mParser.getInt(KEY_MAX_WORK_RESCHEDULE_COUNT,