summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java5
-rw-r--r--services/core/java/com/android/server/power/stats/BatteryStatsImpl.java15
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());