From 3c9c998ffc90b24fdd58a18c04b5297797c15abf Mon Sep 17 00:00:00 2001 From: Makoto Onuki Date: Wed, 17 Jan 2018 10:46:48 -0800 Subject: [PATCH] Make DEBUG_FPS_DIVISOR updatable via setting for possible experiments Bug: 70982379 Test: Manual test with "settings put global fps_divisor 4" and reboot Change-Id: I61437ede907fc387257bf9c07dab46f0032d4e1b --- core/java/android/provider/Settings.java | 8 ++++++++ .../src/android/provider/SettingsBackupTest.java | 1 + .../server/am/GlobalSettingsToPropertiesMapper.java | 2 ++ 3 files changed, 11 insertions(+) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 850aedd517a91..ce35d16cf7a9e 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -9663,6 +9663,14 @@ public final class Settings { */ public static final String SYS_VDSO = "sys_vdso"; + /** + * An integer to reduce the FPS by this factor. Only for experiments. Need to reboot the + * device for this setting to take full effect. + * + * @hide + */ + public static final String FPS_DEVISOR = "fps_divisor"; + /** * App standby (app idle) specific settings. * This is encoded as a key=value list, separated by commas. Ex: diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java index 410bee025df4f..af668bdac958b 100644 --- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java +++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java @@ -351,6 +351,7 @@ public class SettingsBackupTest { Settings.Global.SYS_STORAGE_THRESHOLD_MAX_BYTES, Settings.Global.SYS_STORAGE_THRESHOLD_PERCENTAGE, Settings.Global.SYS_VDSO, + Settings.Global.FPS_DEVISOR, Settings.Global.TCP_DEFAULT_INIT_RWND, Settings.Global.TETHER_DUN_APN, Settings.Global.TETHER_DUN_REQUIRED, diff --git a/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java index c9afc17e1eb41..d6c6f96285a6f 100644 --- a/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java +++ b/services/core/java/com/android/server/am/GlobalSettingsToPropertiesMapper.java @@ -23,6 +23,7 @@ import android.os.SystemProperties; import android.provider.Settings; import android.text.TextUtils; import android.util.Slog; +import android.view.ThreadedRenderer; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.Preconditions; @@ -39,6 +40,7 @@ class GlobalSettingsToPropertiesMapper { // List mapping entries in the following format: // {Settings.Global.SETTING_NAME, "system_property_name"}, {Settings.Global.SYS_VDSO, "sys.vdso"}, + {Settings.Global.FPS_DEVISOR, ThreadedRenderer.DEBUG_FPS_DIVISOR}, };