From 0ab21806dcb4367722f8a835dfa5b8de0511ff37 Mon Sep 17 00:00:00 2001 From: Rupesh Bansal Date: Tue, 11 Mar 2025 15:46:36 +0000 Subject: Added feature flag for disabling frozen wakelocks Bug: 291115867 Test: NA Flag: com.android.server.power.feature.flags.disable_frozen_process_wakelocks Change-Id: Ic8082699bd94bf79598202905f3378e513607a4b --- .../com/android/server/power/feature/PowerManagerFlags.java | 12 ++++++++++++ .../com/android/server/power/feature/power_flags.aconfig | 7 +++++++ 2 files changed, 19 insertions(+) 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 ebc50fd85f24..52d4555248ce 100644 --- a/services/core/java/com/android/server/power/feature/PowerManagerFlags.java +++ b/services/core/java/com/android/server/power/feature/PowerManagerFlags.java @@ -67,6 +67,10 @@ public class PowerManagerFlags { new FlagState(Flags.FLAG_WAKELOCK_ATTRIBUTION_VIA_WORKCHAIN, Flags::wakelockAttributionViaWorkchain); + private final FlagState mDisableFrozenProcessWakelocks = + new FlagState(Flags.FLAG_DISABLE_FROZEN_PROCESS_WAKELOCKS, + Flags::disableFrozenProcessWakelocks); + /** Returns whether early-screen-timeout-detector is enabled on not. */ public boolean isEarlyScreenTimeoutDetectorEnabled() { return mEarlyScreenTimeoutDetectorFlagState.isEnabled(); @@ -120,6 +124,13 @@ public class PowerManagerFlags { return mWakelockAttributionViaWorkchain.isEnabled(); } + /** + * @return Whether the feature to disable the frozen process wakelocks is enabled + */ + public boolean isDisableFrozenProcessWakelocksEnabled() { + return mDisableFrozenProcessWakelocks.isEnabled(); + } + /** * dumps all flagstates * @param pw printWriter @@ -132,6 +143,7 @@ public class PowerManagerFlags { pw.println(" " + mFrameworkWakelockInfo); pw.println(" " + mMoveWscLoggingToNotifier); pw.println(" " + mWakelockAttributionViaWorkchain); + pw.println(" " + mDisableFrozenProcessWakelocks); } private static class FlagState { diff --git a/services/core/java/com/android/server/power/feature/power_flags.aconfig b/services/core/java/com/android/server/power/feature/power_flags.aconfig index fefe195dc337..ad8ec0354aa6 100644 --- a/services/core/java/com/android/server/power/feature/power_flags.aconfig +++ b/services/core/java/com/android/server/power/feature/power_flags.aconfig @@ -70,3 +70,10 @@ flag { description: "Feature flag to move logging of WakelockStateChanged atoms from BatteryStatsImpl to Notifier." bug: "352602149" } + +flag { + name: "disable_frozen_process_wakelocks" + namespace: "power" + description: "Feature flag to disable/enable wakelocks of a process when it is frozen/unfrozen" + bug: "291115867" +} -- cgit v1.2.3-59-g8ed1b