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()); |