diff options
| author | 2024-06-26 12:22:13 +0000 | |
|---|---|---|
| committer | 2024-06-26 12:22:13 +0000 | |
| commit | 29d0acb8c0d8a55c0dddc981ed3120831629543e (patch) | |
| tree | 19041783bdc7aed5aaec2c6972ec6e106b0ca869 | |
| parent | 3a02a369e7ca8d5d358182e328a0e01b28ce6bbd (diff) | |
Add support for overriding power manager flags
Users can now override the flags on USER_DEBUG and ENG builds using adb
shell setprop persist.sys.<FLAG_NAME>-override <true|false>
Bug: 349557782
Test: Manual
Change-Id: I3e7d99a874445cb431ffb0c49a3cea67e76e5952
| -rw-r--r-- | services/core/java/com/android/server/power/feature/PowerManagerFlags.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/power/feature/PowerManagerFlags.java b/services/core/java/com/android/server/power/feature/PowerManagerFlags.java index ff1d2e402350..c6ef89dcff69 100644 --- a/services/core/java/com/android/server/power/feature/PowerManagerFlags.java +++ b/services/core/java/com/android/server/power/feature/PowerManagerFlags.java @@ -16,6 +16,8 @@ package com.android.server.power.feature; +import android.os.Build; +import android.os.SystemProperties; import android.text.TextUtils; import android.util.Slog; @@ -82,7 +84,7 @@ public class PowerManagerFlags { } return mEnabled; } - mEnabled = mFlagFunction.get(); + mEnabled = flagOrSystemProperty(mFlagFunction, mName); if (DEBUG) { Slog.d(TAG, mName + ": mEnabled. Flag value = " + mEnabled); } @@ -90,6 +92,15 @@ public class PowerManagerFlags { return mEnabled; } + private boolean flagOrSystemProperty(Supplier<Boolean> flagFunction, String flagName) { + boolean flagValue = flagFunction.get(); + if (Build.IS_ENG || Build.IS_USERDEBUG) { + return SystemProperties.getBoolean("persist.sys." + flagName + "-override", + flagValue); + } + return flagValue; + } + @Override public String toString() { // remove com.android.server.power.feature.flags. from the beginning of the name. |