diff options
| -rw-r--r-- | services/core/java/com/android/server/am/BatteryStatsService.java | 5 | ||||
| -rw-r--r-- | services/core/java/com/android/server/power/stats/BatteryStatsImpl.java | 15 |
2 files changed, 18 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index aa9ac6c36784..2eb9f3cb600f 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -124,6 +124,7 @@ import com.android.server.LocalServices; import com.android.server.Watchdog; import com.android.server.net.BaseNetworkObserver; import com.android.server.pm.UserManagerInternal; +import com.android.server.power.feature.PowerManagerFlags; import com.android.server.power.optimization.Flags; import com.android.server.power.stats.BatteryExternalStatsWorker; import com.android.server.power.stats.BatteryStatsDumpHelperImpl; @@ -195,6 +196,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub private final BatteryStats.BatteryStatsDumpHelper mDumpHelper; private final PowerStatsUidResolver mPowerStatsUidResolver = new PowerStatsUidResolver(); private final PowerAttributor mPowerAttributor; + private final PowerManagerFlags mPowerManagerFlags = new PowerManagerFlags(); private volatile boolean mMonitorEnabled = true; private boolean mRailsStatsCollectionEnabled = true; @@ -617,6 +619,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub BatteryConsumer.POWER_COMPONENT_ANY, Flags.streamlinedMiscBatteryStats()); + mStats.setMoveWscLoggingToNotifierEnabled( + mPowerManagerFlags.isMoveWscLoggingToNotifierEnabled()); + mWorker.systemServicesReady(); mStats.systemServicesReady(mContext); mCpuWakeupStats.systemServicesReady(); diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java index 677a2dea665b..028ac57fc5a3 100644 --- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java @@ -303,6 +303,8 @@ public class BatteryStatsImpl extends BatteryStats { private final GnssPowerStatsCollector mGnssPowerStatsCollector; private final CustomEnergyConsumerPowerStatsCollector mCustomEnergyConsumerPowerStatsCollector; private final SparseBooleanArray mPowerStatsCollectorEnabled = new SparseBooleanArray(); + private boolean mMoveWscLoggingToNotifierEnabled = false; + private ScreenPowerStatsCollector.ScreenUsageTimeRetriever mScreenUsageTimeRetriever = new ScreenPowerStatsCollector.ScreenUsageTimeRetriever() { @@ -5155,7 +5157,7 @@ public class BatteryStatsImpl extends BatteryStats { Uid uidStats = getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs); uidStats.noteStartWakeLocked(pid, name, type, elapsedRealtimeMs); - if (!mPowerManagerFlags.isMoveWscLoggingToNotifierEnabled()) { + if (!mMoveWscLoggingToNotifierEnabled) { mFrameworkStatsLogger.wakelockStateChanged(mapIsolatedUid(uid), wc, name, uidStats.mProcessState, true /* acquired */, getPowerManagerWakeLockLevel(type)); @@ -5206,7 +5208,7 @@ public class BatteryStatsImpl extends BatteryStats { Uid uidStats = getUidStatsLocked(mappedUid, elapsedRealtimeMs, uptimeMs); uidStats.noteStopWakeLocked(pid, name, type, elapsedRealtimeMs); - if (!mPowerManagerFlags.isMoveWscLoggingToNotifierEnabled()) { + if (!mMoveWscLoggingToNotifierEnabled) { mFrameworkStatsLogger.wakelockStateChanged(mapIsolatedUid(uid), wc, name, uidStats.mProcessState, false/* acquired */, getPowerManagerWakeLockLevel(type)); @@ -15975,6 +15977,15 @@ public class BatteryStatsImpl extends BatteryStats { } } + /** + * Controls where the logging of the WakelockStateChanged atom occurs: + * true = Notifier, false = BatteryStatsImpl. + */ + public void setMoveWscLoggingToNotifierEnabled(boolean enabled) { + synchronized (this) { + mMoveWscLoggingToNotifierEnabled = enabled; + } + } @GuardedBy("this") public void systemServicesReady(Context context) { mConstants.startObserving(context.getContentResolver()); |