Loading core/java/android/os/BatteryStats.java +9 −0 Original line number Diff line number Diff line Loading @@ -985,6 +985,15 @@ public abstract class BatteryStats implements Parcelable { */ public abstract void getDeferredJobsLineLocked(StringBuilder sb, int which); /** * Returns the measured energy in microjoules that the display consumed while the screen * was on and uid active. * Will return {@link #ENERGY_DATA_UNAVAILABLE} if data is unavailable * * {@hide} */ public abstract long getScreenOnEnergy(); public static abstract class Sensor { @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) Loading core/java/com/android/internal/os/BatteryStatsImpl.java +9 −0 Original line number Diff line number Diff line Loading @@ -8648,6 +8648,15 @@ public class BatteryStatsImpl extends BatteryStats { } } @Override public long getScreenOnEnergy() { if (mUidMeasuredEnergyStats == null) { return ENERGY_DATA_UNAVAILABLE; } return mUidMeasuredEnergyStats.getAccumulatedBucketEnergy( MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); } void initNetworkActivityLocked() { detachIfNotNull(mNetworkByteActivityCounters); mNetworkByteActivityCounters = new LongSamplingCounter[NUM_NETWORK_ACTIVITY_TYPES]; Loading core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java +7 −5 Original line number Diff line number Diff line Loading @@ -171,6 +171,7 @@ public class BatteryConsumerData { mBatteryConsumerInfo = BatteryConsumerInfoHelper.makeBatteryConsumerInfo( context.getPackageManager(), requestedBatterySipper); long totalScreenMeasuredEnergyUJ = batteryStats.getScreenOnEnergy(); long uidScreenMeasuredEnergyUJ = requestedBatterySipper.uidObj.getScreenOnEnergy(); addEntry("Total power", EntryType.POWER, requestedBatterySipper.totalSmearedPowerMah, totalSmearedPowerMah); Loading @@ -180,11 +181,12 @@ public class BatteryConsumerData { requestedBatterySipper.totalSmearedPowerMah, totalPowerExcludeSystemMah); addEntry("Screen, smeared", EntryType.POWER, requestedBatterySipper.screenPowerMah, totalScreenPower); if (totalScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { final double measuredCharge = UJ_2_MAH * totalScreenMeasuredEnergyUJ; final double ratio = measuredCharge / totalScreenPower; addEntry("Screen, smeared (PowerStatsHal adjusted)", EntryType.POWER, requestedBatterySipper.screenPowerMah * ratio, measuredCharge); if (uidScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE && totalScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { final double measuredCharge = UJ_2_MAH * uidScreenMeasuredEnergyUJ; final double totalMeasuredCharge = UJ_2_MAH * totalScreenMeasuredEnergyUJ; addEntry("Screen, measured", EntryType.POWER, measuredCharge, totalMeasuredCharge); } addEntry("Other, smeared", EntryType.POWER, requestedBatterySipper.proportionalSmearMah, totalProportionalSmearMah); Loading Loading
core/java/android/os/BatteryStats.java +9 −0 Original line number Diff line number Diff line Loading @@ -985,6 +985,15 @@ public abstract class BatteryStats implements Parcelable { */ public abstract void getDeferredJobsLineLocked(StringBuilder sb, int which); /** * Returns the measured energy in microjoules that the display consumed while the screen * was on and uid active. * Will return {@link #ENERGY_DATA_UNAVAILABLE} if data is unavailable * * {@hide} */ public abstract long getScreenOnEnergy(); public static abstract class Sensor { @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P) Loading
core/java/com/android/internal/os/BatteryStatsImpl.java +9 −0 Original line number Diff line number Diff line Loading @@ -8648,6 +8648,15 @@ public class BatteryStatsImpl extends BatteryStats { } } @Override public long getScreenOnEnergy() { if (mUidMeasuredEnergyStats == null) { return ENERGY_DATA_UNAVAILABLE; } return mUidMeasuredEnergyStats.getAccumulatedBucketEnergy( MeasuredEnergyStats.ENERGY_BUCKET_SCREEN_ON); } void initNetworkActivityLocked() { detachIfNotNull(mNetworkByteActivityCounters); mNetworkByteActivityCounters = new LongSamplingCounter[NUM_NETWORK_ACTIVITY_TYPES]; Loading
core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java +7 −5 Original line number Diff line number Diff line Loading @@ -171,6 +171,7 @@ public class BatteryConsumerData { mBatteryConsumerInfo = BatteryConsumerInfoHelper.makeBatteryConsumerInfo( context.getPackageManager(), requestedBatterySipper); long totalScreenMeasuredEnergyUJ = batteryStats.getScreenOnEnergy(); long uidScreenMeasuredEnergyUJ = requestedBatterySipper.uidObj.getScreenOnEnergy(); addEntry("Total power", EntryType.POWER, requestedBatterySipper.totalSmearedPowerMah, totalSmearedPowerMah); Loading @@ -180,11 +181,12 @@ public class BatteryConsumerData { requestedBatterySipper.totalSmearedPowerMah, totalPowerExcludeSystemMah); addEntry("Screen, smeared", EntryType.POWER, requestedBatterySipper.screenPowerMah, totalScreenPower); if (totalScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { final double measuredCharge = UJ_2_MAH * totalScreenMeasuredEnergyUJ; final double ratio = measuredCharge / totalScreenPower; addEntry("Screen, smeared (PowerStatsHal adjusted)", EntryType.POWER, requestedBatterySipper.screenPowerMah * ratio, measuredCharge); if (uidScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE && totalScreenMeasuredEnergyUJ != BatteryStats.ENERGY_DATA_UNAVAILABLE) { final double measuredCharge = UJ_2_MAH * uidScreenMeasuredEnergyUJ; final double totalMeasuredCharge = UJ_2_MAH * totalScreenMeasuredEnergyUJ; addEntry("Screen, measured", EntryType.POWER, measuredCharge, totalMeasuredCharge); } addEntry("Other, smeared", EntryType.POWER, requestedBatterySipper.proportionalSmearMah, totalProportionalSmearMah); Loading