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 9b0feae1b8c60..12309f4077862 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -445,6 +445,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); } @@ -609,6 +611,7 @@ public class StatsPullAtomService extends SystemService { registerBatteryVoltage(); registerBatteryCycleCount(); registerSettingsStats(); + registerDisplayWakeStats(); } private void initAndRegisterNetworkStatsPullers() { @@ -3391,6 +3394,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