summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Rupesh Bansal <brup@google.com> 2024-06-26 12:22:13 +0000
committer Rupesh Bansal <brup@google.com> 2024-06-26 12:22:13 +0000
commit29d0acb8c0d8a55c0dddc981ed3120831629543e (patch)
tree19041783bdc7aed5aaec2c6972ec6e106b0ca869
parent3a02a369e7ca8d5d358182e328a0e01b28ce6bbd (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.java13
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.