diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 373cb8be9c660..0ab0f3ccedbb6 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -422,6 +422,8 @@ public class StatsPullAtomService extends SystemService { return pullAttributedAppOps(atomTag, data); case FrameworkStatsLog.SETTING_SNAPSHOT: return pullSettingsStats(atomTag, data); + case FrameworkStatsLog.DISPLAY_WAKE_REASON: + return pullDisplayWakeStats(atomTag, data); default: throw new UnsupportedOperationException("Unknown tagId=" + atomTag); } @@ -587,6 +589,7 @@ public class StatsPullAtomService extends SystemService { registerBatteryVoltage(); registerBatteryCycleCount(); registerSettingsStats(); + registerDisplayWakeStats(); } /** @@ -3296,6 +3299,21 @@ public class StatsPullAtomService extends SystemService { return StatsManager.PULL_SUCCESS; } + private void registerDisplayWakeStats() { + int tagId = FrameworkStatsLog.DISPLAY_WAKE_REASON; + mStatsManager.setPullAtomCallback( + tagId, + null, // use default PullAtomMetadata values + BackgroundThread.getExecutor(), + mStatsCallbackImpl + ); + } + + int pullDisplayWakeStats(int atomTag, List pulledData) { + //TODO: Denny, implement read/write DisplayWakeStats, b/154172964 + return 0; + } + // Thermal event received from vendor thermal management subsystem private static final class ThermalEventListener extends IThermalEventListener.Stub { @Override