Loading core/java/android/os/BatteryConsumer.java +2 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,8 @@ public abstract class BatteryConsumer { POWER_COMPONENT_VIDEO, POWER_COMPONENT_FLASHLIGHT, POWER_COMPONENT_CAMERA, POWER_COMPONENT_GNSS}; POWER_COMPONENT_GNSS, POWER_COMPONENT_SENSORS}; Arrays.sort(supportedPowerComponents); SUPPORTED_POWER_COMPONENTS_PER_PROCESS_STATE = IntArray.wrap(supportedPowerComponents); }; Loading core/java/android/os/BatteryStats.java +1 −1 Original line number Diff line number Diff line Loading @@ -3077,7 +3077,7 @@ public abstract class BatteryStats { public static final String[] HISTORY_EVENT_NAMES = new String[] { "null", "proc", "fg", "top", "sync", "wake_lock_in", "job", "user", "userfg", "conn", "active", "pkginst", "pkgunin", "alarm", "stats", "pkginactive", "pkgactive", "tmpwhitelist", "screenwake", "wakeupap", "longwake", "est_capacity", "state" "tmpwhitelist", "screenwake", "wakeupap", "longwake", "state" }; public static final String[] HISTORY_EVENT_CHECKIN_NAMES = new String[] { Loading services/core/java/com/android/server/am/BatteryStatsService.java +16 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ import com.android.server.power.stats.PowerStatsScheduler; import com.android.server.power.stats.PowerStatsStore; import com.android.server.power.stats.PowerStatsUidResolver; import com.android.server.power.stats.ScreenPowerStatsProcessor; import com.android.server.power.stats.SensorPowerStatsProcessor; import com.android.server.power.stats.SystemServerCpuThreadReader.SystemServiceCpuThreadTimes; import com.android.server.power.stats.VideoPowerStatsProcessor; import com.android.server.power.stats.WifiPowerStatsProcessor; Loading Loading @@ -595,6 +596,17 @@ public final class BatteryStatsService extends IBatteryStats.Stub .setProcessor( new GnssPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver)); config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_SENSORS) .trackDeviceStates( AggregatedPowerStatsConfig.STATE_POWER, AggregatedPowerStatsConfig.STATE_SCREEN) .trackUidStates( AggregatedPowerStatsConfig.STATE_POWER, AggregatedPowerStatsConfig.STATE_SCREEN, AggregatedPowerStatsConfig.STATE_PROCESS_STATE) .setProcessor(new SensorPowerStatsProcessor( () -> mContext.getSystemService(SensorManager.class))); config.trackCustomPowerComponents(CustomEnergyConsumerPowerStatsProcessor::new) .trackDeviceStates( AggregatedPowerStatsConfig.STATE_POWER, Loading Loading @@ -706,6 +718,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub BatteryConsumer.POWER_COMPONENT_GNSS, Flags.streamlinedMiscBatteryStats()); mBatteryUsageStatsProvider.setPowerStatsExporterEnabled( BatteryConsumer.POWER_COMPONENT_SENSORS, Flags.streamlinedMiscBatteryStats()); mStats.setPowerStatsCollectorEnabled(BatteryConsumer.POWER_COMPONENT_CAMERA, Flags.streamlinedMiscBatteryStats()); mBatteryUsageStatsProvider.setPowerStatsExporterEnabled( Loading services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +4 −12 Original line number Diff line number Diff line Loading @@ -5431,8 +5431,6 @@ public class BatteryStatsImpl extends BatteryStats { } } int mSensorNesting; @GuardedBy("this") public void noteStartSensorLocked(int uid, int sensor) { noteStartSensorLocked(uid, sensor, mClock.elapsedRealtime(), mClock.uptimeMillis()); Loading @@ -5441,11 +5439,8 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") public void noteStartSensorLocked(int uid, int sensor, long elapsedRealtimeMs, long uptimeMs) { uid = mapUid(uid); if (mSensorNesting == 0) { mHistory.recordStateStartEvent(elapsedRealtimeMs, uptimeMs, HistoryItem.STATE_SENSOR_ON_FLAG); } mSensorNesting++; HistoryItem.STATE_SENSOR_ON_FLAG, uid, "sensor:0x" + Integer.toHexString(sensor)); getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs) .noteStartSensor(sensor, elapsedRealtimeMs); } Loading @@ -5458,11 +5453,8 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") public void noteStopSensorLocked(int uid, int sensor, long elapsedRealtimeMs, long uptimeMs) { uid = mapUid(uid); mSensorNesting--; if (mSensorNesting == 0) { mHistory.recordStateStopEvent(elapsedRealtimeMs, uptimeMs, HistoryItem.STATE_SENSOR_ON_FLAG); } HistoryItem.STATE_SENSOR_ON_FLAG, uid, "sensor:0x" + Integer.toHexString(sensor)); getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs) .noteStopSensor(sensor, elapsedRealtimeMs); } Loading services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java +4 −2 Original line number Diff line number Diff line Loading @@ -93,8 +93,10 @@ public class BatteryUsageStatsProvider { if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) { mPowerCalculators.add(new BluetoothPowerCalculator(mPowerProfile)); } if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_SENSORS)) { mPowerCalculators.add(new SensorPowerCalculator( mContext.getSystemService(SensorManager.class))); } if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_GNSS)) { mPowerCalculators.add(new GnssPowerCalculator(mPowerProfile)); } Loading Loading
core/java/android/os/BatteryConsumer.java +2 −1 Original line number Diff line number Diff line Loading @@ -209,7 +209,8 @@ public abstract class BatteryConsumer { POWER_COMPONENT_VIDEO, POWER_COMPONENT_FLASHLIGHT, POWER_COMPONENT_CAMERA, POWER_COMPONENT_GNSS}; POWER_COMPONENT_GNSS, POWER_COMPONENT_SENSORS}; Arrays.sort(supportedPowerComponents); SUPPORTED_POWER_COMPONENTS_PER_PROCESS_STATE = IntArray.wrap(supportedPowerComponents); }; Loading
core/java/android/os/BatteryStats.java +1 −1 Original line number Diff line number Diff line Loading @@ -3077,7 +3077,7 @@ public abstract class BatteryStats { public static final String[] HISTORY_EVENT_NAMES = new String[] { "null", "proc", "fg", "top", "sync", "wake_lock_in", "job", "user", "userfg", "conn", "active", "pkginst", "pkgunin", "alarm", "stats", "pkginactive", "pkgactive", "tmpwhitelist", "screenwake", "wakeupap", "longwake", "est_capacity", "state" "tmpwhitelist", "screenwake", "wakeupap", "longwake", "state" }; public static final String[] HISTORY_EVENT_CHECKIN_NAMES = new String[] { Loading
services/core/java/com/android/server/am/BatteryStatsService.java +16 −0 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ import com.android.server.power.stats.PowerStatsScheduler; import com.android.server.power.stats.PowerStatsStore; import com.android.server.power.stats.PowerStatsUidResolver; import com.android.server.power.stats.ScreenPowerStatsProcessor; import com.android.server.power.stats.SensorPowerStatsProcessor; import com.android.server.power.stats.SystemServerCpuThreadReader.SystemServiceCpuThreadTimes; import com.android.server.power.stats.VideoPowerStatsProcessor; import com.android.server.power.stats.WifiPowerStatsProcessor; Loading Loading @@ -595,6 +596,17 @@ public final class BatteryStatsService extends IBatteryStats.Stub .setProcessor( new GnssPowerStatsProcessor(mPowerProfile, mPowerStatsUidResolver)); config.trackPowerComponent(BatteryConsumer.POWER_COMPONENT_SENSORS) .trackDeviceStates( AggregatedPowerStatsConfig.STATE_POWER, AggregatedPowerStatsConfig.STATE_SCREEN) .trackUidStates( AggregatedPowerStatsConfig.STATE_POWER, AggregatedPowerStatsConfig.STATE_SCREEN, AggregatedPowerStatsConfig.STATE_PROCESS_STATE) .setProcessor(new SensorPowerStatsProcessor( () -> mContext.getSystemService(SensorManager.class))); config.trackCustomPowerComponents(CustomEnergyConsumerPowerStatsProcessor::new) .trackDeviceStates( AggregatedPowerStatsConfig.STATE_POWER, Loading Loading @@ -706,6 +718,10 @@ public final class BatteryStatsService extends IBatteryStats.Stub BatteryConsumer.POWER_COMPONENT_GNSS, Flags.streamlinedMiscBatteryStats()); mBatteryUsageStatsProvider.setPowerStatsExporterEnabled( BatteryConsumer.POWER_COMPONENT_SENSORS, Flags.streamlinedMiscBatteryStats()); mStats.setPowerStatsCollectorEnabled(BatteryConsumer.POWER_COMPONENT_CAMERA, Flags.streamlinedMiscBatteryStats()); mBatteryUsageStatsProvider.setPowerStatsExporterEnabled( Loading
services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +4 −12 Original line number Diff line number Diff line Loading @@ -5431,8 +5431,6 @@ public class BatteryStatsImpl extends BatteryStats { } } int mSensorNesting; @GuardedBy("this") public void noteStartSensorLocked(int uid, int sensor) { noteStartSensorLocked(uid, sensor, mClock.elapsedRealtime(), mClock.uptimeMillis()); Loading @@ -5441,11 +5439,8 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") public void noteStartSensorLocked(int uid, int sensor, long elapsedRealtimeMs, long uptimeMs) { uid = mapUid(uid); if (mSensorNesting == 0) { mHistory.recordStateStartEvent(elapsedRealtimeMs, uptimeMs, HistoryItem.STATE_SENSOR_ON_FLAG); } mSensorNesting++; HistoryItem.STATE_SENSOR_ON_FLAG, uid, "sensor:0x" + Integer.toHexString(sensor)); getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs) .noteStartSensor(sensor, elapsedRealtimeMs); } Loading @@ -5458,11 +5453,8 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") public void noteStopSensorLocked(int uid, int sensor, long elapsedRealtimeMs, long uptimeMs) { uid = mapUid(uid); mSensorNesting--; if (mSensorNesting == 0) { mHistory.recordStateStopEvent(elapsedRealtimeMs, uptimeMs, HistoryItem.STATE_SENSOR_ON_FLAG); } HistoryItem.STATE_SENSOR_ON_FLAG, uid, "sensor:0x" + Integer.toHexString(sensor)); getUidStatsLocked(uid, elapsedRealtimeMs, uptimeMs) .noteStopSensor(sensor, elapsedRealtimeMs); } Loading
services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java +4 −2 Original line number Diff line number Diff line Loading @@ -93,8 +93,10 @@ public class BatteryUsageStatsProvider { if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) { mPowerCalculators.add(new BluetoothPowerCalculator(mPowerProfile)); } if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_SENSORS)) { mPowerCalculators.add(new SensorPowerCalculator( mContext.getSystemService(SensorManager.class))); } if (!mPowerStatsExporterEnabled.get(BatteryConsumer.POWER_COMPONENT_GNSS)) { mPowerCalculators.add(new GnssPowerCalculator(mPowerProfile)); } Loading