Loading core/java/android/os/BatteryStats.java +1 −0 Original line number Diff line number Diff line Loading @@ -1656,6 +1656,7 @@ public abstract class BatteryStats implements Parcelable { public byte batteryPlugType; public short batteryTemperature; // Battery voltage in millivolts (mV). @UnsupportedAppUsage public char batteryVoltage; Loading core/java/com/android/internal/os/AmbientDisplayPowerCalculator.java +11 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, powerMah) .setUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_USAGE, durationMs); } // TODO(b/178140704): Attribute *measured* total usage for BatteryUsageStats. } /** Loading @@ -66,7 +67,8 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { public void calculate(List<BatterySipper> sippers, BatteryStats batteryStats, long rawRealtimeUs, long rawUptimeUs, int statsType, SparseArray<UserHandle> asUsers) { final long durationMs = calculateDuration(batteryStats, rawRealtimeUs, statsType); final double powerMah = mPowerEstimator.calculatePower(durationMs); final double powerMah = getMeasuredOrEstimatedPower( batteryStats.getScreenDozeEnergy(), durationMs); if (powerMah > 0) { BatterySipper bs = new BatterySipper(BatterySipper.DrainType.AMBIENT_DISPLAY, null, 0); bs.usagePowerMah = powerMah; Loading @@ -79,4 +81,12 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { private long calculateDuration(BatteryStats batteryStats, long rawRealtimeUs, int statsType) { return batteryStats.getScreenDozeTime(rawRealtimeUs, statsType) / 1000; } private double getMeasuredOrEstimatedPower(long measuredEnergyUJ, long durationMs) { if (measuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { return mAhToUJ(measuredEnergyUJ); } else { return mPowerEstimator.calculatePower(durationMs); } } } core/java/com/android/internal/os/BatterySipper.java +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ public class BatterySipper implements Comparable<BatterySipper> { /** * Smeared power from screen usage. * We split the screen usage power and smear them among apps, based on activity time. * The actual screen usage power may be measured or estimated, affecting the granularity and * accuracy of the smearing, but the smearing algorithm is essentially the same. */ public double screenPowerMah; Loading core/java/com/android/internal/os/BatteryStatsHelper.java +0 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; import android.telephony.TelephonyManager; import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; Loading core/java/com/android/internal/os/BatteryStatsImpl.java +1 −5 Original line number Diff line number Diff line Loading @@ -8633,11 +8633,7 @@ public class BatteryStatsImpl extends BatteryStats { @Override public long getScreenOnEnergy() { if (mUidMeasuredEnergyStats == null) { return ENERGY_DATA_UNAVAILABLE; } return mUidMeasuredEnergyStats.getAccumulatedBucketEnergy( MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); return getMeasuredEnergyMicroJoules(MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); } void initNetworkActivityLocked() { Loading Loading
core/java/android/os/BatteryStats.java +1 −0 Original line number Diff line number Diff line Loading @@ -1656,6 +1656,7 @@ public abstract class BatteryStats implements Parcelable { public byte batteryPlugType; public short batteryTemperature; // Battery voltage in millivolts (mV). @UnsupportedAppUsage public char batteryVoltage; Loading
core/java/com/android/internal/os/AmbientDisplayPowerCalculator.java +11 −1 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { .setConsumedPower(BatteryConsumer.POWER_COMPONENT_USAGE, powerMah) .setUsageDurationMillis(BatteryConsumer.TIME_COMPONENT_USAGE, durationMs); } // TODO(b/178140704): Attribute *measured* total usage for BatteryUsageStats. } /** Loading @@ -66,7 +67,8 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { public void calculate(List<BatterySipper> sippers, BatteryStats batteryStats, long rawRealtimeUs, long rawUptimeUs, int statsType, SparseArray<UserHandle> asUsers) { final long durationMs = calculateDuration(batteryStats, rawRealtimeUs, statsType); final double powerMah = mPowerEstimator.calculatePower(durationMs); final double powerMah = getMeasuredOrEstimatedPower( batteryStats.getScreenDozeEnergy(), durationMs); if (powerMah > 0) { BatterySipper bs = new BatterySipper(BatterySipper.DrainType.AMBIENT_DISPLAY, null, 0); bs.usagePowerMah = powerMah; Loading @@ -79,4 +81,12 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { private long calculateDuration(BatteryStats batteryStats, long rawRealtimeUs, int statsType) { return batteryStats.getScreenDozeTime(rawRealtimeUs, statsType) / 1000; } private double getMeasuredOrEstimatedPower(long measuredEnergyUJ, long durationMs) { if (measuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { return mAhToUJ(measuredEnergyUJ); } else { return mPowerEstimator.calculatePower(durationMs); } } }
core/java/com/android/internal/os/BatterySipper.java +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,8 @@ public class BatterySipper implements Comparable<BatterySipper> { /** * Smeared power from screen usage. * We split the screen usage power and smear them among apps, based on activity time. * The actual screen usage power may be measured or estimated, affecting the granularity and * accuracy of the smearing, but the smearing algorithm is essentially the same. */ public double screenPowerMah; Loading
core/java/com/android/internal/os/BatteryStatsHelper.java +0 −1 Original line number Diff line number Diff line Loading @@ -37,7 +37,6 @@ import android.os.ServiceManager; import android.os.SystemClock; import android.os.UserHandle; import android.telephony.TelephonyManager; import android.text.format.DateUtils; import android.util.ArrayMap; import android.util.Log; import android.util.SparseArray; Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +1 −5 Original line number Diff line number Diff line Loading @@ -8633,11 +8633,7 @@ public class BatteryStatsImpl extends BatteryStats { @Override public long getScreenOnEnergy() { if (mUidMeasuredEnergyStats == null) { return ENERGY_DATA_UNAVAILABLE; } return mUidMeasuredEnergyStats.getAccumulatedBucketEnergy( MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); return getMeasuredEnergyMicroJoules(MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); } void initNetworkActivityLocked() { Loading