Loading cmds/statsd/src/atoms.proto +16 −8 Original line number Diff line number Diff line Loading @@ -292,7 +292,7 @@ message BleScanResultReceived { * Logs when a sensor state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message SensorStateChanged { repeated AttributionNode attribution_node = 1; Loading Loading @@ -330,7 +330,7 @@ message GpsScanStateChanged { * Logs when a sync manager sync state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message SyncStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -349,7 +349,7 @@ message SyncStateChanged { * Logs when a job scheduler job state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ScheduledJobStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -366,7 +366,7 @@ message ScheduledJobStateChanged { // The reason a job has stopped. // This is only applicable when the state is FINISHED. // The default value is CANCELED. // The default value is STOP_REASON_UNKNOWN. optional android.app.job.StopReasonEnum stop_reason = 4; } Loading @@ -374,7 +374,7 @@ message ScheduledJobStateChanged { * Logs when the audio state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message AudioStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -382,6 +382,8 @@ message AudioStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all audio stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -390,7 +392,7 @@ message AudioStateChanged { * Logs when the video codec state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message MediaCodecActivityChanged { repeated AttributionNode attribution_node = 1; Loading @@ -398,6 +400,8 @@ message MediaCodecActivityChanged { enum State { OFF = 0; ON = 1; // RESET indicates all mediaCodec stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -406,7 +410,7 @@ message MediaCodecActivityChanged { * Logs when the flashlight state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message FlashlightStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -414,6 +418,8 @@ message FlashlightStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all flashlight stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -422,7 +428,7 @@ message FlashlightStateChanged { * Logs when the camera state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message CameraStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -430,6 +436,8 @@ message CameraStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all camera stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading core/java/com/android/internal/os/BatteryStatsImpl.java +1 −56 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.internal.os; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.job.JobProtoEnums; import android.bluetooth.BluetoothActivityEnergyInfo; import android.bluetooth.UidTraffic; import android.content.ContentResolver; Loading Loading @@ -6014,7 +6013,6 @@ public class BatteryStatsImpl extends BatteryStats { if (strengthBin >= 0) { if (!mWifiSignalStrengthsTimer[strengthBin].isRunningLocked()) { mWifiSignalStrengthsTimer[strengthBin].startRunningLocked(elapsedRealtime); StatsLog.write(StatsLog.WIFI_SIGNAL_STRENGTH_CHANGED, strengthBin); } mHistoryCur.states2 = (mHistoryCur.states2&~HistoryItem.STATE2_WIFI_SIGNAL_STRENGTH_MASK) Loading @@ -6025,6 +6023,7 @@ public class BatteryStatsImpl extends BatteryStats { } else { stopAllWifiSignalStrengthTimersLocked(-1); } StatsLog.write(StatsLog.WIFI_SIGNAL_STRENGTH_CHANGED, strengthBin); mWifiSignalStrengthBin = strengthBin; } } Loading Loading @@ -7265,25 +7264,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteAudioTurnedOnLocked(long elapsedRealtimeMs) { createAudioTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__ON); } public void noteAudioTurnedOffLocked(long elapsedRealtimeMs) { if (mAudioTurnedOnTimer != null) { mAudioTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mAudioTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } } public void noteResetAudioLocked(long elapsedRealtimeMs) { if (mAudioTurnedOnTimer != null) { mAudioTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } Loading @@ -7297,25 +7288,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteVideoTurnedOnLocked(long elapsedRealtimeMs) { createVideoTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__ON); } public void noteVideoTurnedOffLocked(long elapsedRealtimeMs) { if (mVideoTurnedOnTimer != null) { mVideoTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mVideoTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } } public void noteResetVideoLocked(long elapsedRealtimeMs) { if (mVideoTurnedOnTimer != null) { mVideoTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } Loading @@ -7329,25 +7312,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteFlashlightTurnedOnLocked(long elapsedRealtimeMs) { createFlashlightTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON); } public void noteFlashlightTurnedOffLocked(long elapsedRealtimeMs) { if (mFlashlightTurnedOnTimer != null) { mFlashlightTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mFlashlightTurnedOnTimer.isRunningLocked()) { StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } } public void noteResetFlashlightLocked(long elapsedRealtimeMs) { if (mFlashlightTurnedOnTimer != null) { mFlashlightTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } Loading @@ -7361,25 +7336,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteCameraTurnedOnLocked(long elapsedRealtimeMs) { createCameraTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__ON); } public void noteCameraTurnedOffLocked(long elapsedRealtimeMs) { if (mCameraTurnedOnTimer != null) { mCameraTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mCameraTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } } public void noteResetCameraLocked(long elapsedRealtimeMs) { if (mCameraTurnedOnTimer != null) { mCameraTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } Loading Loading @@ -10055,8 +10022,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mSyncStats.startObject(name); if (t != null) { t.startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, getUid(), null, name, StatsLog.SYNC_STATE_CHANGED__STATE__ON); } } Loading @@ -10064,10 +10029,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mSyncStats.stopObject(name); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (!t.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, getUid(), null, name, StatsLog.SYNC_STATE_CHANGED__STATE__OFF); } } } Loading @@ -10075,9 +10036,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mJobStats.startObject(name); if (t != null) { t.startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, getUid(), null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED, JobProtoEnums.STOP_REASON_CANCELLED); } } Loading @@ -10085,11 +10043,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mJobStats.stopObject(name); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (!t.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, getUid(), null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, stopReason); } } if (mBsi.mOnBatteryTimeBase.isRunning()) { SparseIntArray types = mJobCompletions.get(name); Loading Loading @@ -10197,10 +10150,6 @@ public class BatteryStatsImpl extends BatteryStats { public void noteStartSensor(int sensor, long elapsedRealtimeMs) { DualTimer t = getSensorTimerLocked(sensor, /* create= */ true); t.startRunningLocked(elapsedRealtimeMs); if (sensor != Sensor.GPS) { StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, getUid(), null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__ON); } } public void noteStopSensor(int sensor, long elapsedRealtimeMs) { Loading @@ -10208,10 +10157,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = getSensorTimerLocked(sensor, false); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (sensor != Sensor.GPS) { StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, getUid(), null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__OFF); } } } Loading core/proto/android/app/job/enums.proto +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ option java_multiple_files = true; // Reasons a job is stopped. // Primarily used in android.app.job.JobParameters.java. enum StopReasonEnum { STOP_REASON_UNKNOWN = -1; STOP_REASON_CANCELLED = 0; STOP_REASON_CONSTRAINTS_NOT_SATISFIED = 1; STOP_REASON_PREEMPT = 2; Loading services/core/java/com/android/server/am/BatteryStatsService.java +39 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.am; import android.app.ActivityManager; import android.app.job.JobProtoEnums; import android.bluetooth.BluetoothActivityEnergyInfo; import android.content.BroadcastReceiver; import android.content.Context; Loading Loading @@ -442,6 +443,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteSyncStartLocked(name, uid); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name, StatsLog.SYNC_STATE_CHANGED__STATE__ON); } } Loading @@ -449,6 +452,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteSyncFinishLocked(name, uid); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name, StatsLog.SYNC_STATE_CHANGED__STATE__OFF); } } Loading @@ -456,6 +461,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteJobStartLocked(name, uid); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED, JobProtoEnums.STOP_REASON_UNKNOWN); } } Loading @@ -463,6 +471,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteJobFinishLocked(name, uid, stopReason); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, stopReason); } } Loading Loading @@ -577,6 +588,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteStartSensorLocked(uid, sensor); StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__ON); } } Loading @@ -584,6 +597,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteStopSensorLocked(uid, sensor); StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__OFF); } } Loading Loading @@ -735,6 +750,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteAudioOnLocked(uid); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null, StatsLog.AUDIO_STATE_CHANGED__STATE__ON); } } Loading @@ -742,6 +759,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteAudioOffLocked(uid); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } Loading @@ -749,6 +768,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteVideoOnLocked(uid); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, uid, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__ON); } } Loading @@ -756,6 +777,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteVideoOffLocked(uid); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, uid, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } Loading @@ -763,6 +786,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetAudioLocked(); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, -1, null, StatsLog.AUDIO_STATE_CHANGED__STATE__RESET); } } Loading @@ -770,6 +795,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetVideoLocked(); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, -1, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__RESET); } } Loading @@ -777,6 +804,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteFlashlightOnLocked(uid); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON); } } Loading @@ -784,6 +813,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteFlashlightOffLocked(uid); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } Loading @@ -792,6 +823,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub if (DBG) Slog.d(TAG, "begin noteStartCamera"); synchronized (mStats) { mStats.noteCameraOnLocked(uid); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null, StatsLog.CAMERA_STATE_CHANGED__STATE__ON); } if (DBG) Slog.d(TAG, "end noteStartCamera"); } Loading @@ -800,6 +833,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteCameraOffLocked(uid); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } Loading @@ -807,6 +842,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetCameraLocked(); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, -1, null, StatsLog.CAMERA_STATE_CHANGED__STATE__RESET); } } Loading @@ -814,6 +851,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetFlashlightLocked(); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, -1, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__RESET); } } Loading Loading
cmds/statsd/src/atoms.proto +16 −8 Original line number Diff line number Diff line Loading @@ -292,7 +292,7 @@ message BleScanResultReceived { * Logs when a sensor state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message SensorStateChanged { repeated AttributionNode attribution_node = 1; Loading Loading @@ -330,7 +330,7 @@ message GpsScanStateChanged { * Logs when a sync manager sync state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message SyncStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -349,7 +349,7 @@ message SyncStateChanged { * Logs when a job scheduler job state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message ScheduledJobStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -366,7 +366,7 @@ message ScheduledJobStateChanged { // The reason a job has stopped. // This is only applicable when the state is FINISHED. // The default value is CANCELED. // The default value is STOP_REASON_UNKNOWN. optional android.app.job.StopReasonEnum stop_reason = 4; } Loading @@ -374,7 +374,7 @@ message ScheduledJobStateChanged { * Logs when the audio state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message AudioStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -382,6 +382,8 @@ message AudioStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all audio stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -390,7 +392,7 @@ message AudioStateChanged { * Logs when the video codec state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message MediaCodecActivityChanged { repeated AttributionNode attribution_node = 1; Loading @@ -398,6 +400,8 @@ message MediaCodecActivityChanged { enum State { OFF = 0; ON = 1; // RESET indicates all mediaCodec stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -406,7 +410,7 @@ message MediaCodecActivityChanged { * Logs when the flashlight state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message FlashlightStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -414,6 +418,8 @@ message FlashlightStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all flashlight stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading @@ -422,7 +428,7 @@ message FlashlightStateChanged { * Logs when the camera state changes. * * Logged from: * frameworks/base/core/java/com/android/internal/os/BatteryStatsImpl.java * frameworks/base/services/core/java/com/android/server/am/BatteryStatsService.java */ message CameraStateChanged { repeated AttributionNode attribution_node = 1; Loading @@ -430,6 +436,8 @@ message CameraStateChanged { enum State { OFF = 0; ON = 1; // RESET indicates all camera stopped. Used when it (re)starts (e.g. after it crashes). RESET = 2; } optional State state = 2; } Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +1 −56 Original line number Diff line number Diff line Loading @@ -19,7 +19,6 @@ package com.android.internal.os; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityManager; import android.app.job.JobProtoEnums; import android.bluetooth.BluetoothActivityEnergyInfo; import android.bluetooth.UidTraffic; import android.content.ContentResolver; Loading Loading @@ -6014,7 +6013,6 @@ public class BatteryStatsImpl extends BatteryStats { if (strengthBin >= 0) { if (!mWifiSignalStrengthsTimer[strengthBin].isRunningLocked()) { mWifiSignalStrengthsTimer[strengthBin].startRunningLocked(elapsedRealtime); StatsLog.write(StatsLog.WIFI_SIGNAL_STRENGTH_CHANGED, strengthBin); } mHistoryCur.states2 = (mHistoryCur.states2&~HistoryItem.STATE2_WIFI_SIGNAL_STRENGTH_MASK) Loading @@ -6025,6 +6023,7 @@ public class BatteryStatsImpl extends BatteryStats { } else { stopAllWifiSignalStrengthTimersLocked(-1); } StatsLog.write(StatsLog.WIFI_SIGNAL_STRENGTH_CHANGED, strengthBin); mWifiSignalStrengthBin = strengthBin; } } Loading Loading @@ -7265,25 +7264,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteAudioTurnedOnLocked(long elapsedRealtimeMs) { createAudioTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__ON); } public void noteAudioTurnedOffLocked(long elapsedRealtimeMs) { if (mAudioTurnedOnTimer != null) { mAudioTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mAudioTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } } public void noteResetAudioLocked(long elapsedRealtimeMs) { if (mAudioTurnedOnTimer != null) { mAudioTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, getUid(), null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } Loading @@ -7297,25 +7288,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteVideoTurnedOnLocked(long elapsedRealtimeMs) { createVideoTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__ON); } public void noteVideoTurnedOffLocked(long elapsedRealtimeMs) { if (mVideoTurnedOnTimer != null) { mVideoTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mVideoTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } } public void noteResetVideoLocked(long elapsedRealtimeMs) { if (mVideoTurnedOnTimer != null) { mVideoTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, getUid(), null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } Loading @@ -7329,25 +7312,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteFlashlightTurnedOnLocked(long elapsedRealtimeMs) { createFlashlightTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON); } public void noteFlashlightTurnedOffLocked(long elapsedRealtimeMs) { if (mFlashlightTurnedOnTimer != null) { mFlashlightTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mFlashlightTurnedOnTimer.isRunningLocked()) { StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } } public void noteResetFlashlightLocked(long elapsedRealtimeMs) { if (mFlashlightTurnedOnTimer != null) { mFlashlightTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, getUid(), null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } Loading @@ -7361,25 +7336,17 @@ public class BatteryStatsImpl extends BatteryStats { public void noteCameraTurnedOnLocked(long elapsedRealtimeMs) { createCameraTurnedOnTimerLocked().startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__ON); } public void noteCameraTurnedOffLocked(long elapsedRealtimeMs) { if (mCameraTurnedOnTimer != null) { mCameraTurnedOnTimer.stopRunningLocked(elapsedRealtimeMs); if (!mCameraTurnedOnTimer.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } } public void noteResetCameraLocked(long elapsedRealtimeMs) { if (mCameraTurnedOnTimer != null) { mCameraTurnedOnTimer.stopAllRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, getUid(), null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } Loading Loading @@ -10055,8 +10022,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mSyncStats.startObject(name); if (t != null) { t.startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, getUid(), null, name, StatsLog.SYNC_STATE_CHANGED__STATE__ON); } } Loading @@ -10064,10 +10029,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mSyncStats.stopObject(name); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (!t.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, getUid(), null, name, StatsLog.SYNC_STATE_CHANGED__STATE__OFF); } } } Loading @@ -10075,9 +10036,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mJobStats.startObject(name); if (t != null) { t.startRunningLocked(elapsedRealtimeMs); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, getUid(), null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED, JobProtoEnums.STOP_REASON_CANCELLED); } } Loading @@ -10085,11 +10043,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = mJobStats.stopObject(name); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (!t.isRunningLocked()) { // only tell statsd if truly stopped StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, getUid(), null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, stopReason); } } if (mBsi.mOnBatteryTimeBase.isRunning()) { SparseIntArray types = mJobCompletions.get(name); Loading Loading @@ -10197,10 +10150,6 @@ public class BatteryStatsImpl extends BatteryStats { public void noteStartSensor(int sensor, long elapsedRealtimeMs) { DualTimer t = getSensorTimerLocked(sensor, /* create= */ true); t.startRunningLocked(elapsedRealtimeMs); if (sensor != Sensor.GPS) { StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, getUid(), null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__ON); } } public void noteStopSensor(int sensor, long elapsedRealtimeMs) { Loading @@ -10208,10 +10157,6 @@ public class BatteryStatsImpl extends BatteryStats { DualTimer t = getSensorTimerLocked(sensor, false); if (t != null) { t.stopRunningLocked(elapsedRealtimeMs); if (sensor != Sensor.GPS) { StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, getUid(), null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__OFF); } } } Loading
core/proto/android/app/job/enums.proto +1 −0 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ option java_multiple_files = true; // Reasons a job is stopped. // Primarily used in android.app.job.JobParameters.java. enum StopReasonEnum { STOP_REASON_UNKNOWN = -1; STOP_REASON_CANCELLED = 0; STOP_REASON_CONSTRAINTS_NOT_SATISFIED = 1; STOP_REASON_PREEMPT = 2; Loading
services/core/java/com/android/server/am/BatteryStatsService.java +39 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.am; import android.app.ActivityManager; import android.app.job.JobProtoEnums; import android.bluetooth.BluetoothActivityEnergyInfo; import android.content.BroadcastReceiver; import android.content.Context; Loading Loading @@ -442,6 +443,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteSyncStartLocked(name, uid); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name, StatsLog.SYNC_STATE_CHANGED__STATE__ON); } } Loading @@ -449,6 +452,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteSyncFinishLocked(name, uid); StatsLog.write_non_chained(StatsLog.SYNC_STATE_CHANGED, uid, null, name, StatsLog.SYNC_STATE_CHANGED__STATE__OFF); } } Loading @@ -456,6 +461,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteJobStartLocked(name, uid); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__STARTED, JobProtoEnums.STOP_REASON_UNKNOWN); } } Loading @@ -463,6 +471,9 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteJobFinishLocked(name, uid, stopReason); StatsLog.write_non_chained(StatsLog.SCHEDULED_JOB_STATE_CHANGED, uid, null, name, StatsLog.SCHEDULED_JOB_STATE_CHANGED__STATE__FINISHED, stopReason); } } Loading Loading @@ -577,6 +588,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteStartSensorLocked(uid, sensor); StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__ON); } } Loading @@ -584,6 +597,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteStopSensorLocked(uid, sensor); StatsLog.write_non_chained(StatsLog.SENSOR_STATE_CHANGED, uid, null, sensor, StatsLog.SENSOR_STATE_CHANGED__STATE__OFF); } } Loading Loading @@ -735,6 +750,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteAudioOnLocked(uid); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null, StatsLog.AUDIO_STATE_CHANGED__STATE__ON); } } Loading @@ -742,6 +759,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteAudioOffLocked(uid); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, uid, null, StatsLog.AUDIO_STATE_CHANGED__STATE__OFF); } } Loading @@ -749,6 +768,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteVideoOnLocked(uid); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, uid, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__ON); } } Loading @@ -756,6 +777,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteVideoOffLocked(uid); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, uid, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__OFF); } } Loading @@ -763,6 +786,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetAudioLocked(); StatsLog.write_non_chained(StatsLog.AUDIO_STATE_CHANGED, -1, null, StatsLog.AUDIO_STATE_CHANGED__STATE__RESET); } } Loading @@ -770,6 +795,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetVideoLocked(); StatsLog.write_non_chained(StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED, -1, null, StatsLog.MEDIA_CODEC_ACTIVITY_CHANGED__STATE__RESET); } } Loading @@ -777,6 +804,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteFlashlightOnLocked(uid); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__ON); } } Loading @@ -784,6 +813,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteFlashlightOffLocked(uid); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, uid, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__OFF); } } Loading @@ -792,6 +823,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub if (DBG) Slog.d(TAG, "begin noteStartCamera"); synchronized (mStats) { mStats.noteCameraOnLocked(uid); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null, StatsLog.CAMERA_STATE_CHANGED__STATE__ON); } if (DBG) Slog.d(TAG, "end noteStartCamera"); } Loading @@ -800,6 +833,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteCameraOffLocked(uid); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, uid, null, StatsLog.CAMERA_STATE_CHANGED__STATE__OFF); } } Loading @@ -807,6 +842,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetCameraLocked(); StatsLog.write_non_chained(StatsLog.CAMERA_STATE_CHANGED, -1, null, StatsLog.CAMERA_STATE_CHANGED__STATE__RESET); } } Loading @@ -814,6 +851,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub enforceCallingPermission(); synchronized (mStats) { mStats.noteResetFlashlightLocked(); StatsLog.write_non_chained(StatsLog.FLASHLIGHT_STATE_CHANGED, -1, null, StatsLog.FLASHLIGHT_STATE_CHANGED__STATE__RESET); } } Loading