diff options
| author | 2022-12-20 18:32:11 +0000 | |
|---|---|---|
| committer | 2022-12-20 18:32:11 +0000 | |
| commit | 4b07f0a71ff720b116ab0213884477200976a5cc (patch) | |
| tree | 5dc335527776fdaf8eb0cfaa81e356f2d9c14856 | |
| parent | 20a4eeea734d3b3d904f572e08a25865bd56b015 (diff) | |
| parent | 472367a9ba2102aa15bec2978e6a800d0df7877e (diff) | |
Merge "Rename MeasuredEnergy to EnergyConsumer"
45 files changed, 757 insertions, 755 deletions
diff --git a/core/java/android/os/BatteryConsumer.java b/core/java/android/os/BatteryConsumer.java index de2dec779c99..0ba8d51e820f 100644 --- a/core/java/android/os/BatteryConsumer.java +++ b/core/java/android/os/BatteryConsumer.java @@ -132,7 +132,7 @@ public abstract class BatteryConsumer { @IntDef(prefix = {"POWER_MODEL_"}, value = { POWER_MODEL_UNDEFINED, POWER_MODEL_POWER_PROFILE, - POWER_MODEL_MEASURED_ENERGY, + POWER_MODEL_ENERGY_CONSUMPTION, }) @Retention(RetentionPolicy.SOURCE) public @interface PowerModel { @@ -150,9 +150,9 @@ public abstract class BatteryConsumer { public static final int POWER_MODEL_POWER_PROFILE = 1; /** - * Power model that is based on energy consumption measured by on-device power monitors. + * Power model that is based on energy consumption stats provided by PowerStats HAL. */ - public static final int POWER_MODEL_MEASURED_ENERGY = 2; + public static final int POWER_MODEL_ENERGY_CONSUMPTION = 2; /** * Identifiers of consumed power aggregations. @@ -469,8 +469,8 @@ public abstract class BatteryConsumer { */ public static String powerModelToString(@BatteryConsumer.PowerModel int powerModel) { switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: - return "measured energy"; + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: + return "energy consumption"; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: return "power profile"; default: @@ -484,7 +484,7 @@ public abstract class BatteryConsumer { */ public static int powerModelToProtoEnum(@BatteryConsumer.PowerModel int powerModel) { switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: return BatteryUsageStatsAtomsProto.PowerComponentModel.MEASURED_ENERGY; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: return BatteryUsageStatsAtomsProto.PowerComponentModel.POWER_PROFILE; diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index 2a4c86193301..34aa7efb2d3b 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -1043,12 +1043,13 @@ public abstract class BatteryStats { /** * Returns the battery consumption (in microcoulombs) of bluetooth for this uid, - * derived from on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#BLUETOOTH} bucket + * provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getBluetoothMeasuredBatteryConsumptionUC(); + public abstract long getBluetoothEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the uid's bluetooth usage @@ -1057,17 +1058,18 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getBluetoothMeasuredBatteryConsumptionUC( + public abstract long getBluetoothEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState); /** * Returns the battery consumption (in microcoulombs) of the uid's cpu usage, derived from - * on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#CPU} bucket + * provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getCpuMeasuredBatteryConsumptionUC(); + public abstract long getCpuEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the uid's cpu usage when in the @@ -1076,26 +1078,28 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getCpuMeasuredBatteryConsumptionUC( + public abstract long getCpuEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState); /** * Returns the battery consumption (in microcoulombs) of the uid's GNSS usage, derived from - * on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#GNSS} bucket + * provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getGnssMeasuredBatteryConsumptionUC(); + public abstract long getGnssEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the uid's radio usage, derived from - * on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#MOBILE_RADIO} + * bucket provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getMobileRadioMeasuredBatteryConsumptionUC(); + public abstract long getMobileRadioEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the uid's radio usage when in the @@ -1104,26 +1108,28 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getMobileRadioMeasuredBatteryConsumptionUC( + public abstract long getMobileRadioEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState); /** * Returns the battery consumption (in microcoulombs) of the screen while on and uid active, - * derived from on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#DISPLAY} bucket + * provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getScreenOnMeasuredBatteryConsumptionUC(); + public abstract long getScreenOnEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of wifi for this uid, - * derived from on device power measurement data. + * derived from {@link android.hardware.power.stats.EnergyConsumerType#WIFI} bucket + * provided by the PowerStats service. * Will return {@link #POWER_DATA_UNAVAILABLE} if data is unavailable. * * {@hide} */ - public abstract long getWifiMeasuredBatteryConsumptionUC(); + public abstract long getWifiEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the uid's wifi usage when in the @@ -1132,7 +1138,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getWifiMeasuredBatteryConsumptionUC( + public abstract long getWifiEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState); @@ -1147,7 +1153,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract @Nullable long[] getCustomConsumerMeasuredBatteryConsumptionUC(); + public abstract @Nullable long[] getCustomEnergyConsumerBatteryConsumptionUC(); public static abstract class Sensor { @@ -1776,7 +1782,7 @@ public abstract class BatteryStats { /** * Measured energy delta from the previous reading. */ - public static final class MeasuredEnergyDetails { + public static final class EnergyConsumerDetails { /** * Description of the energy consumer, such as CPU, DISPLAY etc */ @@ -1986,8 +1992,8 @@ public abstract class BatteryStats { // Non-null when there is more detailed information at this step. public HistoryStepDetails stepDetails; - // Non-null when there is measured energy information - public MeasuredEnergyDetails measuredEnergyDetails; + // Non-null when there is energy consumer information + public EnergyConsumerDetails energyConsumerDetails; // Non-null when there is CPU usage information public CpuUsageDetails cpuUsageDetails; @@ -2200,7 +2206,7 @@ public abstract class BatteryStats { eventCode = EVENT_NONE; eventTag = null; tagsFirstOccurrence = false; - measuredEnergyDetails = null; + energyConsumerDetails = null; cpuUsageDetails = null; } @@ -2251,7 +2257,7 @@ public abstract class BatteryStats { } tagsFirstOccurrence = o.tagsFirstOccurrence; currentTime = o.currentTime; - measuredEnergyDetails = o.measuredEnergyDetails; + energyConsumerDetails = o.energyConsumerDetails; cpuUsageDetails = o.cpuUsageDetails; } @@ -2858,7 +2864,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getBluetoothMeasuredBatteryConsumptionUC(); + public abstract long getBluetoothEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the cpu, derived from on device power @@ -2867,7 +2873,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getCpuMeasuredBatteryConsumptionUC(); + public abstract long getCpuEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the GNSS, derived from on device power @@ -2876,7 +2882,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getGnssMeasuredBatteryConsumptionUC(); + public abstract long getGnssEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the radio, derived from on device power @@ -2885,7 +2891,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getMobileRadioMeasuredBatteryConsumptionUC(); + public abstract long getMobileRadioEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the screen while on, derived from on @@ -2894,7 +2900,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getScreenOnMeasuredBatteryConsumptionUC(); + public abstract long getScreenOnEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of the screen in doze, derived from on @@ -2903,7 +2909,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getScreenDozeMeasuredBatteryConsumptionUC(); + public abstract long getScreenDozeEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) of wifi, derived from on @@ -2912,7 +2918,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract long getWifiMeasuredBatteryConsumptionUC(); + public abstract long getWifiEnergyConsumptionUC(); /** * Returns the battery consumption (in microcoulombs) that each @@ -2924,7 +2930,7 @@ public abstract class BatteryStats { * * {@hide} */ - public abstract @Nullable long[] getCustomConsumerMeasuredBatteryConsumptionUC(); + public abstract @Nullable long[] getCustomEnergyConsumerBatteryConsumptionUC(); /** * Returns the names of all {@link android.hardware.power.stats.EnergyConsumer}'s @@ -7088,19 +7094,19 @@ public abstract class BatteryStats { } } boolean firstExtension = true; - if (rec.measuredEnergyDetails != null) { + if (rec.energyConsumerDetails != null) { firstExtension = false; if (!checkin) { item.append(" ext=energy:"); - item.append(rec.measuredEnergyDetails); + item.append(rec.energyConsumerDetails); } else { item.append(",XE"); - for (int i = 0; i < rec.measuredEnergyDetails.consumers.length; i++) { - if (rec.measuredEnergyDetails.chargeUC[i] != POWER_DATA_UNAVAILABLE) { + for (int i = 0; i < rec.energyConsumerDetails.consumers.length; i++) { + if (rec.energyConsumerDetails.chargeUC[i] != POWER_DATA_UNAVAILABLE) { item.append(','); - item.append(rec.measuredEnergyDetails.consumers[i].name); + item.append(rec.energyConsumerDetails.consumers[i].name); item.append('='); - item.append(rec.measuredEnergyDetails.chargeUC[i]); + item.append(rec.energyConsumerDetails.chargeUC[i]); } } } diff --git a/core/java/com/android/internal/os/BatteryStatsHistory.java b/core/java/com/android/internal/os/BatteryStatsHistory.java index 66d64c409afe..3d8982bba505 100644 --- a/core/java/com/android/internal/os/BatteryStatsHistory.java +++ b/core/java/com/android/internal/os/BatteryStatsHistory.java @@ -22,10 +22,10 @@ import android.os.BatteryManager; import android.os.BatteryStats; import android.os.BatteryStats.BitDescription; import android.os.BatteryStats.CpuUsageDetails; +import android.os.BatteryStats.EnergyConsumerDetails; import android.os.BatteryStats.HistoryItem; import android.os.BatteryStats.HistoryStepDetails; import android.os.BatteryStats.HistoryTag; -import android.os.BatteryStats.MeasuredEnergyDetails; import android.os.Build; import android.os.Parcel; import android.os.ParcelFormatException; @@ -984,9 +984,9 @@ public class BatteryStatsHistory { /** * Records measured energy data. */ - public void recordMeasuredEnergyDetails(long elapsedRealtimeMs, long uptimeMs, - MeasuredEnergyDetails measuredEnergyDetails) { - mHistoryCur.measuredEnergyDetails = measuredEnergyDetails; + public void recordEnergyConsumerDetails(long elapsedRealtimeMs, long uptimeMs, + EnergyConsumerDetails energyConsumerDetails) { + mHistoryCur.energyConsumerDetails = energyConsumerDetails; mHistoryCur.states2 |= HistoryItem.STATE2_EXTENSIONS_FLAG; writeHistoryItem(elapsedRealtimeMs, uptimeMs); } @@ -1293,7 +1293,7 @@ public class BatteryStatsHistory { && mHistoryLastWritten.batteryPlugType == cur.batteryPlugType && mHistoryLastWritten.batteryTemperature == cur.batteryTemperature && mHistoryLastWritten.batteryVoltage == cur.batteryVoltage - && mHistoryLastWritten.measuredEnergyDetails == null + && mHistoryLastWritten.energyConsumerDetails == null && mHistoryLastWritten.cpuUsageDetails == null) { // We can merge this new change in with the last one. Merging is // allowed as long as only the states have changed, and within those states @@ -1396,7 +1396,7 @@ public class BatteryStatsHistory { cur.eventCode = HistoryItem.EVENT_NONE; cur.eventTag = null; cur.tagsFirstOccurrence = false; - cur.measuredEnergyDetails = null; + cur.energyConsumerDetails = null; cur.cpuUsageDetails = null; if (DEBUG) { Slog.i(TAG, "Writing history buffer: was " + mHistoryBufferLastPos @@ -1517,7 +1517,7 @@ public class BatteryStatsHistory { if (stateIntChanged) { firstToken |= BatteryStatsHistory.DELTA_STATE_FLAG; } - if (cur.measuredEnergyDetails != null) { + if (cur.energyConsumerDetails != null) { extensionFlags |= BatteryStatsHistory.EXTENSION_MEASURED_ENERGY_FLAG; if (!mMeasuredEnergyHeaderWritten) { extensionFlags |= BatteryStatsHistory.EXTENSION_MEASURED_ENERGY_HEADER_FLAG; @@ -1653,22 +1653,22 @@ public class BatteryStatsHistory { dest.writeDouble(cur.wifiRailChargeMah); if (extensionFlags != 0) { dest.writeInt(extensionFlags); - if (cur.measuredEnergyDetails != null) { + if (cur.energyConsumerDetails != null) { if (DEBUG) { - Slog.i(TAG, "WRITE DELTA: measuredEnergyDetails=" + cur.measuredEnergyDetails); + Slog.i(TAG, "WRITE DELTA: measuredEnergyDetails=" + cur.energyConsumerDetails); } if (!mMeasuredEnergyHeaderWritten) { - MeasuredEnergyDetails.EnergyConsumer[] consumers = - cur.measuredEnergyDetails.consumers; + EnergyConsumerDetails.EnergyConsumer[] consumers = + cur.energyConsumerDetails.consumers; dest.writeInt(consumers.length); - for (MeasuredEnergyDetails.EnergyConsumer consumer : consumers) { + for (EnergyConsumerDetails.EnergyConsumer consumer : consumers) { dest.writeInt(consumer.type); dest.writeInt(consumer.ordinal); dest.writeString(consumer.name); } mMeasuredEnergyHeaderWritten = true; } - mVarintParceler.writeLongArray(dest, cur.measuredEnergyDetails.chargeUC); + mVarintParceler.writeLongArray(dest, cur.energyConsumerDetails.chargeUC); } if (cur.cpuUsageDetails != null) { diff --git a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java index b88116dd3051..67eee4f9d30c 100644 --- a/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java +++ b/core/java/com/android/internal/os/BatteryStatsHistoryIterator.java @@ -36,7 +36,7 @@ public class BatteryStatsHistoryIterator implements Iterator<BatteryStats.Histor private final BatteryStats.HistoryStepDetails mReadHistoryStepDetails = new BatteryStats.HistoryStepDetails(); private final SparseArray<BatteryStats.HistoryTag> mHistoryTags = new SparseArray<>(); - private BatteryStats.MeasuredEnergyDetails mMeasuredEnergyDetails; + private BatteryStats.EnergyConsumerDetails mEnergyConsumerDetails; private BatteryStats.CpuUsageDetails mCpuUsageDetails; private final BatteryStatsHistory.VarintParceler mVarintParceler = new BatteryStatsHistory.VarintParceler(); @@ -230,8 +230,8 @@ public class BatteryStatsHistoryIterator implements Iterator<BatteryStats.Histor if ((cur.states2 & BatteryStats.HistoryItem.STATE2_EXTENSIONS_FLAG) != 0) { final int extensionFlags = src.readInt(); if ((extensionFlags & BatteryStatsHistory.EXTENSION_MEASURED_ENERGY_HEADER_FLAG) != 0) { - if (mMeasuredEnergyDetails == null) { - mMeasuredEnergyDetails = new BatteryStats.MeasuredEnergyDetails(); + if (mEnergyConsumerDetails == null) { + mEnergyConsumerDetails = new BatteryStats.EnergyConsumerDetails(); } final int consumerCount = src.readInt(); @@ -241,28 +241,28 @@ public class BatteryStatsHistoryIterator implements Iterator<BatteryStats.Histor "EnergyConsumer count too high: " + consumerCount + ". Max = " + MAX_ENERGY_CONSUMER_COUNT); } - mMeasuredEnergyDetails.consumers = - new BatteryStats.MeasuredEnergyDetails.EnergyConsumer[consumerCount]; - mMeasuredEnergyDetails.chargeUC = new long[consumerCount]; + mEnergyConsumerDetails.consumers = + new BatteryStats.EnergyConsumerDetails.EnergyConsumer[consumerCount]; + mEnergyConsumerDetails.chargeUC = new long[consumerCount]; for (int i = 0; i < consumerCount; i++) { - BatteryStats.MeasuredEnergyDetails.EnergyConsumer consumer = - new BatteryStats.MeasuredEnergyDetails.EnergyConsumer(); + BatteryStats.EnergyConsumerDetails.EnergyConsumer consumer = + new BatteryStats.EnergyConsumerDetails.EnergyConsumer(); consumer.type = src.readInt(); consumer.ordinal = src.readInt(); consumer.name = src.readString(); - mMeasuredEnergyDetails.consumers[i] = consumer; + mEnergyConsumerDetails.consumers[i] = consumer; } } if ((extensionFlags & BatteryStatsHistory.EXTENSION_MEASURED_ENERGY_FLAG) != 0) { - if (mMeasuredEnergyDetails == null) { + if (mEnergyConsumerDetails == null) { throw new IllegalStateException("MeasuredEnergyDetails without a header"); } - mVarintParceler.readLongArray(src, mMeasuredEnergyDetails.chargeUC); - cur.measuredEnergyDetails = mMeasuredEnergyDetails; + mVarintParceler.readLongArray(src, mEnergyConsumerDetails.chargeUC); + cur.energyConsumerDetails = mEnergyConsumerDetails; } else { - cur.measuredEnergyDetails = null; + cur.energyConsumerDetails = null; } if ((extensionFlags & BatteryStatsHistory.EXTENSION_CPU_USAGE_HEADER_FLAG) != 0) { @@ -295,7 +295,7 @@ public class BatteryStatsHistoryIterator implements Iterator<BatteryStats.Histor cur.cpuUsageDetails = null; } } else { - cur.measuredEnergyDetails = null; + cur.energyConsumerDetails = null; cur.cpuUsageDetails = null; } } diff --git a/core/java/com/android/internal/power/MeasuredEnergyStats.java b/core/java/com/android/internal/power/EnergyConsumerStats.java index 290cba000473..325df576f10a 100644 --- a/core/java/com/android/internal/power/MeasuredEnergyStats.java +++ b/core/java/com/android/internal/power/EnergyConsumerStats.java @@ -37,15 +37,14 @@ import java.lang.annotation.RetentionPolicy; import java.util.Arrays; /** - * Tracks the measured charge consumption of various subsystems according to their + * Tracks the charge consumption of various subsystems according to their * {@link StandardPowerBucket} or custom power bucket (which is tied to * {@link android.hardware.power.stats.EnergyConsumer.ordinal}). * - * This class doesn't use a TimeBase, and instead requires manually decisions about when to + * This class doesn't use a TimeBase, and instead requires manual decisions about when to * accumulate since it is trivial. However, in the future, a TimeBase could be used instead. */ -@VisibleForTesting -public class MeasuredEnergyStats { +public class EnergyConsumerStats { private static final String TAG = "MeasuredEnergyStats"; // Note: {@link BatteryStats#VERSION} MUST be updated if standard @@ -205,7 +204,7 @@ public class MeasuredEnergyStats { */ private String getBucketName(int index) { if (isValidStandardBucket(index)) { - return DebugUtils.valueToString(MeasuredEnergyStats.class, "POWER_BUCKET_", index); + return DebugUtils.valueToString(EnergyConsumerStats.class, "POWER_BUCKET_", index); } final int customBucket = indexToCustomBucket(index); StringBuilder name = new StringBuilder().append("CUSTOM_").append(customBucket); @@ -242,7 +241,7 @@ public class MeasuredEnergyStats { * supportedStandardBuckets must be of size {@link #NUMBER_STANDARD_POWER_BUCKETS}. * numCustomBuckets >= 0 is the number of (non-standard) custom power buckets on the device. */ - public MeasuredEnergyStats(MeasuredEnergyStats.Config config) { + public EnergyConsumerStats(EnergyConsumerStats.Config config) { mConfig = config; final int numTotalBuckets = config.getNumberOfBuckets(); mAccumulatedChargeMicroCoulomb = new long[numTotalBuckets]; @@ -259,15 +258,15 @@ public class MeasuredEnergyStats { * Reads a MeasuredEnergyStats from the supplied Parcel. */ @Nullable - public static MeasuredEnergyStats createFromParcel(Config config, Parcel in) { + public static EnergyConsumerStats createFromParcel(Config config, Parcel in) { if (!in.readBoolean()) { return null; } - return new MeasuredEnergyStats(config, in); + return new EnergyConsumerStats(config, in); } /** Construct from parcel. */ - public MeasuredEnergyStats(MeasuredEnergyStats.Config config, Parcel in) { + public EnergyConsumerStats(EnergyConsumerStats.Config config, Parcel in) { mConfig = config; final int size = in.readInt(); @@ -533,21 +532,22 @@ public class MeasuredEnergyStats { * possible (not necessarily supported) standard and custom buckets. * * Corresponding write performed by - * {@link #writeSummaryToParcel(MeasuredEnergyStats, Parcel)}. + * {@link #writeSummaryToParcel(EnergyConsumerStats, Parcel)}. * * @return a new MeasuredEnergyStats object as described. * Returns null if the stats contain no non-0 information (such as if template is null * or if the parcel indicates there is no data to populate). */ - public static @Nullable MeasuredEnergyStats createAndReadSummaryFromParcel( - @Nullable Config config, Parcel in) { + @Nullable + public static EnergyConsumerStats createAndReadSummaryFromParcel(@Nullable Config config, + Parcel in) { final int arraySize = in.readInt(); // Check if any MeasuredEnergyStats exists on the parcel if (arraySize == 0) return null; if (config == null) { // Nothing supported anymore. Create placeholder object just to consume the parcel data. - final MeasuredEnergyStats mes = new MeasuredEnergyStats( + final EnergyConsumerStats mes = new EnergyConsumerStats( new Config(new boolean[arraySize], null, new int[0], new String[]{""})); mes.readSummaryFromParcel(in); return null; @@ -557,12 +557,12 @@ public class MeasuredEnergyStats { Slog.wtf(TAG, "Size of MeasuredEnergyStats parcel (" + arraySize + ") does not match config (" + config.getNumberOfBuckets() + ")."); // Something is horribly wrong. Just consume the parcel and return null. - final MeasuredEnergyStats mes = new MeasuredEnergyStats(config); + final EnergyConsumerStats mes = new EnergyConsumerStats(config); mes.readSummaryFromParcel(in); return null; } - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.readSummaryFromParcel(in); if (stats.containsInterestingData()) { return stats; @@ -585,7 +585,7 @@ public class MeasuredEnergyStats { * * Corresponding read performed by {@link #createAndReadSummaryFromParcel}. */ - public static void writeSummaryToParcel(@Nullable MeasuredEnergyStats stats, Parcel dest) { + public static void writeSummaryToParcel(@Nullable EnergyConsumerStats stats, Parcel dest) { if (stats == null) { dest.writeInt(0); return; @@ -607,7 +607,7 @@ public class MeasuredEnergyStats { } /** Reset accumulated charges of the given stats. */ - public static void resetIfNotNull(@Nullable MeasuredEnergyStats stats) { + public static void resetIfNotNull(@Nullable EnergyConsumerStats stats) { if (stats != null) stats.reset(); } diff --git a/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_amp_24.xml b/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_amp_24.xml deleted file mode 100644 index 1f5731821c94..000000000000 --- a/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_amp_24.xml +++ /dev/null @@ -1,10 +0,0 @@ -<vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24" - android:tint="#d14d2c"> - <path - android:fillColor="@android:color/white" - android:pathData="M12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM11.17,19.5h-0.83l0.82,-5.83 -4.18,0.01 5.85,-9.17h0.83l-0.84,5.84h4.17l-5.82,9.15z"/> -</vector> diff --git a/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_custom_24.xml b/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_energy_24.xml index 39f9689d2ec4..11f8d7ba23d6 100644 --- a/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_custom_24.xml +++ b/core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_energy_24.xml @@ -1,9 +1,9 @@ <vector xmlns:android="http://schemas.android.com/apk/res/android" - android:width="24dp" - android:height="24dp" - android:viewportWidth="24" - android:viewportHeight="24" - android:tint="#d14d2c"> + android:width="24dp" + android:height="24dp" + android:viewportWidth="24" + android:viewportHeight="24" + android:tint="#d14d2c"> <path android:fillColor="@android:color/white" android:pathData="M22,9L22,7h-2L20,5c0,-1.1 -0.9,-2 -2,-2L4,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2v-2h2v-2h-2v-2h2v-2h-2L20,9h2zM18,19L4,19L4,5h14v14zM6,13h5v4L6,17v-4zM12,7h4v3h-4L12,7zM6,7h5v5L6,12L6,7zM12,11h4v6h-4v-6z"/> diff --git a/core/tests/batterystatstests/BatteryStatsViewer/res/values/colors.xml b/core/tests/batterystatstests/BatteryStatsViewer/res/values/colors.xml index 2dbe48b6edc0..6cc70bd1af61 100644 --- a/core/tests/batterystatstests/BatteryStatsViewer/res/values/colors.xml +++ b/core/tests/batterystatstests/BatteryStatsViewer/res/values/colors.xml @@ -17,5 +17,5 @@ <resources> <color name="battery_consumer_bg_power_profile">#ffffff</color> - <color name="battery_consumer_bg_measured_energy">#fff5eb</color> + <color name="battery_consumer_bg_energy_consumption">#fff5eb</color> </resources> diff --git a/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java b/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java index 19bb718578a0..f691a1b90934 100644 --- a/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java +++ b/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java @@ -33,15 +33,15 @@ public class BatteryConsumerData { enum EntryType { UID_TOTAL_POWER, - UID_POWER_MODELED, - UID_POWER_MODELED_PROCESS_STATE, - UID_POWER_MEASURED, - UID_POWER_MEASURED_PROCESS_STATE, + UID_POWER_PROFILE, + UID_POWER_PROFILE_PROCESS_STATE, + UID_POWER_ENERGY_CONSUMPTION, + UID_POWER_ENERGY_PROCESS_STATE, UID_POWER_CUSTOM, UID_DURATION, DEVICE_TOTAL_POWER, DEVICE_POWER_MODELED, - DEVICE_POWER_MEASURED, + DEVICE_POWER_ENERGY_CONSUMPTION, DEVICE_POWER_CUSTOM, DEVICE_DURATION, } @@ -111,12 +111,12 @@ public class BatteryConsumerData { BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_ALL_APPS) .getConsumedPower()); } else { - addEntry("Consumed (measured)", EntryType.UID_TOTAL_POWER, + addEntry("Consumed (PowerStats)", EntryType.UID_TOTAL_POWER, requestedBatteryConsumer.getConsumedPower(), batteryUsageStats.getAggregateBatteryConsumer( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_ALL_APPS) .getConsumedPower()); - addEntry("Consumed (modeled)", EntryType.UID_TOTAL_POWER, + addEntry("Consumed (PowerProfile)", EntryType.UID_TOTAL_POWER, requestedModeledBatteryConsumer.getConsumedPower(), modeledBatteryUsageStats.getAggregateBatteryConsumer( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_ALL_APPS) @@ -128,21 +128,21 @@ public class BatteryConsumerData { final int powerModel = requestedBatteryConsumer.getPowerModel(component); if (powerModel == BatteryConsumer.POWER_MODEL_POWER_PROFILE || powerModel == BatteryConsumer.POWER_MODEL_UNDEFINED) { - addEntry(metricTitle, EntryType.UID_POWER_MODELED, + addEntry(metricTitle, EntryType.UID_POWER_PROFILE, requestedBatteryConsumer.getConsumedPower(component), totalPowerByComponentMah[component]); - addProcessStateEntries(metricTitle, EntryType.UID_POWER_MODELED_PROCESS_STATE, + addProcessStateEntries(metricTitle, EntryType.UID_POWER_PROFILE_PROCESS_STATE, requestedBatteryConsumer, component); } else { - addEntry(metricTitle + " (measured)", EntryType.UID_POWER_MEASURED, + addEntry(metricTitle + " (PowerStats)", EntryType.UID_POWER_ENERGY_CONSUMPTION, requestedBatteryConsumer.getConsumedPower(component), totalPowerByComponentMah[component]); - addProcessStateEntries(metricTitle, EntryType.UID_POWER_MEASURED_PROCESS_STATE, + addProcessStateEntries(metricTitle, EntryType.UID_POWER_ENERGY_PROCESS_STATE, requestedBatteryConsumer, component); - addEntry(metricTitle + " (modeled)", EntryType.UID_POWER_MODELED, + addEntry(metricTitle + " (PowerProfile)", EntryType.UID_POWER_PROFILE, requestedModeledBatteryConsumer.getConsumedPower(component), totalModeledPowerByComponentMah[component]); - addProcessStateEntries(metricTitle, EntryType.UID_POWER_MODELED_PROCESS_STATE, + addProcessStateEntries(metricTitle, EntryType.UID_POWER_PROFILE_PROCESS_STATE, requestedModeledBatteryConsumer, component); } } @@ -150,7 +150,7 @@ public class BatteryConsumerData { for (int component = 0; component < customComponentCount; component++) { final String name = requestedBatteryConsumer.getCustomPowerComponentName( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + component); - addEntry(name + " (custom)", EntryType.UID_POWER_CUSTOM, + addEntry(name + " (PowerStats)", EntryType.UID_POWER_CUSTOM, requestedBatteryConsumer.getConsumedPowerForCustomComponent( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + component), totalCustomPowerByComponentMah[component] @@ -223,10 +223,10 @@ public class BatteryConsumerData { deviceBatteryConsumer.getConsumedPower(), appsBatteryConsumer.getConsumedPower()); } else { - addEntry("Consumed (measured)", EntryType.DEVICE_TOTAL_POWER, + addEntry("Consumed (PowerStats)", EntryType.DEVICE_TOTAL_POWER, deviceBatteryConsumer.getConsumedPower(), appsBatteryConsumer.getConsumedPower()); - addEntry("Consumed (modeled)", EntryType.DEVICE_TOTAL_POWER, + addEntry("Consumed (PowerProfile)", EntryType.DEVICE_TOTAL_POWER, modeledDeviceBatteryConsumer.getConsumedPower(), modeledAppsBatteryConsumer.getConsumedPower()); } @@ -244,10 +244,10 @@ public class BatteryConsumerData { deviceBatteryConsumer.getConsumedPower(component), appsBatteryConsumer.getConsumedPower(component)); } else { - addEntry(metricTitle + " (measured)", EntryType.DEVICE_POWER_MEASURED, + addEntry(metricTitle + " (PowerStats)", EntryType.DEVICE_POWER_ENERGY_CONSUMPTION, deviceBatteryConsumer.getConsumedPower(component), appsBatteryConsumer.getConsumedPower(component)); - addEntry(metricTitle + " (modeled)", EntryType.DEVICE_POWER_MODELED, + addEntry(metricTitle + " (PowerProfile)", EntryType.DEVICE_POWER_MODELED, modeledDeviceBatteryConsumer.getConsumedPower(component), modeledAppsBatteryConsumer.getConsumedPower(component)); } @@ -258,7 +258,7 @@ public class BatteryConsumerData { for (int component = 0; component < customComponentCount; component++) { final String name = deviceBatteryConsumer.getCustomPowerComponentName( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + component); - addEntry(name + " (custom)", EntryType.DEVICE_POWER_CUSTOM, + addEntry(name + " (PowerStats)", EntryType.DEVICE_POWER_CUSTOM, deviceBatteryConsumer.getConsumedPowerForCustomComponent( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + component), appsBatteryConsumer.getConsumedPowerForCustomComponent( diff --git a/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java b/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java index 0f45c3b109e4..e165c49ff55d 100644 --- a/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java +++ b/core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java @@ -285,38 +285,38 @@ public class BatteryStatsViewerActivity extends ComponentActivity { setPowerText(viewHolder.value1TextView, entry.value1); setProportionText(viewHolder.value2TextView, entry); break; - case UID_POWER_MODELED: + case UID_POWER_PROFILE: setTitleIconAndBackground(viewHolder, entry.title, R.drawable.gm_calculate_24, R.color.battery_consumer_bg_power_profile); setPowerText(viewHolder.value1TextView, entry.value1); setProportionText(viewHolder.value2TextView, entry); break; - case UID_POWER_MODELED_PROCESS_STATE: + case UID_POWER_PROFILE_PROCESS_STATE: setTitleIconAndBackground(viewHolder, " " + entry.title, R.drawable.gm_calculate_24, R.color.battery_consumer_bg_power_profile); setPowerText(viewHolder.value1TextView, entry.value1); viewHolder.value2TextView.setVisibility(View.INVISIBLE); break; - case UID_POWER_MEASURED: + case UID_POWER_ENERGY_CONSUMPTION: setTitleIconAndBackground(viewHolder, entry.title, - R.drawable.gm_amp_24, - R.color.battery_consumer_bg_measured_energy); + R.drawable.gm_energy_24, + R.color.battery_consumer_bg_energy_consumption); setPowerText(viewHolder.value1TextView, entry.value1); setProportionText(viewHolder.value2TextView, entry); break; - case UID_POWER_MEASURED_PROCESS_STATE: + case UID_POWER_ENERGY_PROCESS_STATE: setTitleIconAndBackground(viewHolder, " " + entry.title, - R.drawable.gm_amp_24, - R.color.battery_consumer_bg_measured_energy); + R.drawable.gm_energy_24, + R.color.battery_consumer_bg_energy_consumption); setPowerText(viewHolder.value1TextView, entry.value1); viewHolder.value2TextView.setVisibility(View.INVISIBLE); break; case UID_POWER_CUSTOM: setTitleIconAndBackground(viewHolder, entry.title, - R.drawable.gm_custom_24, - R.color.battery_consumer_bg_measured_energy); + R.drawable.gm_energy_24, + R.color.battery_consumer_bg_energy_consumption); setPowerText(viewHolder.value1TextView, entry.value1); setProportionText(viewHolder.value2TextView, entry); break; @@ -339,17 +339,17 @@ public class BatteryStatsViewerActivity extends ComponentActivity { setPowerText(viewHolder.value1TextView, entry.value1); setPowerText(viewHolder.value2TextView, entry.value2); break; - case DEVICE_POWER_MEASURED: + case DEVICE_POWER_ENERGY_CONSUMPTION: setTitleIconAndBackground(viewHolder, entry.title, - R.drawable.gm_amp_24, - R.color.battery_consumer_bg_measured_energy); + R.drawable.gm_energy_24, + R.color.battery_consumer_bg_energy_consumption); setPowerText(viewHolder.value1TextView, entry.value1); setPowerText(viewHolder.value2TextView, entry.value2); break; case DEVICE_POWER_CUSTOM: setTitleIconAndBackground(viewHolder, entry.title, - R.drawable.gm_custom_24, - R.color.battery_consumer_bg_measured_energy); + R.drawable.gm_energy_24, + R.color.battery_consumer_bg_energy_consumption); setPowerText(viewHolder.value1TextView, entry.value1); setPowerText(viewHolder.value2TextView, entry.value2); break; diff --git a/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java b/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java index f82523c5e3a1..0676f899674d 100644 --- a/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java +++ b/core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java @@ -275,11 +275,11 @@ public class BatteryUsageStatsPulledTest { uidBuilder.setConsumedPower(keyFg, 9100, BatteryConsumer.POWER_MODEL_POWER_PROFILE) .setUsageDurationMillis(keyFg, 8100) - .setConsumedPower(keyBg, 9200, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) + .setConsumedPower(keyBg, 9200, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) .setUsageDurationMillis(keyBg, 8200) - .setConsumedPower(keyFgs, 9300, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) + .setConsumedPower(keyFgs, 9300, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) .setUsageDurationMillis(keyFgs, 8300) - .setConsumedPower(keyCached, 9400, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) + .setConsumedPower(keyCached, 9400, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) .setUsageDurationMillis(keyFgs, 8400); builder.getOrCreateUidBatteryConsumerBuilder(UID_1) @@ -302,7 +302,7 @@ public class BatteryUsageStatsPulledTest { BatteryConsumer.POWER_MODEL_POWER_PROFILE) // Empty .setConsumedPower( BatteryConsumer.POWER_COMPONENT_CAMERA, 20150, - BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) + BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) .setConsumedPowerForCustomComponent( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, 20200) .setUsageDurationMillis( diff --git a/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java b/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java index a1d033750b27..38c3aa04ea35 100644 --- a/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java +++ b/core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java @@ -16,6 +16,8 @@ package com.android.internal.os; +import com.android.internal.power.EnergyConsumerStatsTest; + import org.junit.runner.RunWith; import org.junit.runners.Suite; @@ -34,7 +36,7 @@ import org.junit.runners.Suite; LongMultiStateCounterTest.class, PowerProfileTest.class, - com.android.internal.power.MeasuredEnergyStatsTest.class + EnergyConsumerStatsTest.class }) public class BatteryStatsTests { }
\ No newline at end of file diff --git a/core/tests/coretests/src/com/android/internal/power/MeasuredEnergyStatsTest.java b/core/tests/coretests/src/com/android/internal/power/EnergyConsumerStatsTest.java index 88349b38040c..e09cfd21e605 100644 --- a/core/tests/coretests/src/com/android/internal/power/MeasuredEnergyStatsTest.java +++ b/core/tests/coretests/src/com/android/internal/power/EnergyConsumerStatsTest.java @@ -18,13 +18,13 @@ package com.android.internal.power; import static android.os.BatteryStats.POWER_DATA_UNAVAILABLE; -import static com.android.internal.power.MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_CPU; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_SCREEN_DOZE; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_SCREEN_OTHER; -import static com.android.internal.power.MeasuredEnergyStats.POWER_BUCKET_WIFI; +import static com.android.internal.power.EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_BLUETOOTH; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_CPU; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_SCREEN_DOZE; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_SCREEN_ON; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_SCREEN_OTHER; +import static com.android.internal.power.EnergyConsumerStats.POWER_BUCKET_WIFI; import static com.google.common.truth.Truth.assertThat; @@ -43,13 +43,10 @@ import org.junit.Test; import java.util.Arrays; /** - * Test class for {@link MeasuredEnergyStats}. - * - * To run the tests, use - * atest FrameworksCoreTests:com.android.internal.power.MeasuredEnergyStatsTest + * Test class for {@link EnergyConsumerStats}. */ @SmallTest -public class MeasuredEnergyStatsTest { +public class EnergyConsumerStatsTest { @Test public void testConstruction() { @@ -59,11 +56,11 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[]{POWER_BUCKET_SCREEN_ON, POWER_BUCKET_WIFI}, new String[]{"state0", "state1", "state3"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); for (int bucket = 0; bucket < NUMBER_STANDARD_POWER_BUCKETS; bucket++) { if (supportedStandardBuckets[bucket]) { @@ -95,10 +92,10 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[]{POWER_BUCKET_SCREEN_ON}, new String[]{"s0", "s1"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.setState(0, 1000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10, 2000); @@ -112,7 +109,7 @@ public class MeasuredEnergyStatsTest { stats.writeToParcel(parcel); parcel.setDataPosition(0); - MeasuredEnergyStats newStats = new MeasuredEnergyStats(config, parcel); + EnergyConsumerStats newStats = new EnergyConsumerStats(config, parcel); for (int bucket = 0; bucket < NUMBER_STANDARD_POWER_BUCKETS; bucket++) { assertEquals(stats.getAccumulatedStandardBucketCharge(bucket), @@ -139,17 +136,17 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[]{POWER_BUCKET_SCREEN_ON, POWER_BUCKET_WIFI}, new String[] {"state0", "state1", "state2"}); final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.Config.writeToParcel(config, parcel); + EnergyConsumerStats.Config.writeToParcel(config, parcel); parcel.setDataPosition(0); - final MeasuredEnergyStats.Config newConfig = MeasuredEnergyStats.Config.createFromParcel( + final EnergyConsumerStats.Config newConfig = EnergyConsumerStats.Config.createFromParcel( parcel); assertThat(newConfig).isNotNull(); @@ -172,11 +169,11 @@ public class MeasuredEnergyStatsTest { @Test public void testCreateAndReadConfigFromParcel_nullConfig() { final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.Config.writeToParcel(null, parcel); + EnergyConsumerStats.Config.writeToParcel(null, parcel); parcel.setDataPosition(0); - final MeasuredEnergyStats.Config newConfig = MeasuredEnergyStats.Config.createFromParcel( + final EnergyConsumerStats.Config newConfig = EnergyConsumerStats.Config.createFromParcel( parcel); assertThat(newConfig).isNull(); @@ -190,10 +187,10 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5); @@ -202,12 +199,12 @@ public class MeasuredEnergyStatsTest { stats.updateCustomBucket(1, 60); final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.writeSummaryToParcel(stats, parcel); + EnergyConsumerStats.writeSummaryToParcel(stats, parcel); parcel.setDataPosition(0); - MeasuredEnergyStats newStats = - MeasuredEnergyStats.createAndReadSummaryFromParcel(config, parcel); + EnergyConsumerStats newStats = + EnergyConsumerStats.createAndReadSummaryFromParcel(config, parcel); for (int i = 0; i < NUMBER_STANDARD_POWER_BUCKETS; i++) { assertEquals(stats.isStandardBucketSupported(i), @@ -232,17 +229,17 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5); stats.updateStandardBucket(POWER_BUCKET_SCREEN_OTHER, 40); stats.updateCustomBucket(0, 50); final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.writeSummaryToParcel(stats, parcel); + EnergyConsumerStats.writeSummaryToParcel(stats, parcel); parcel.setDataPosition(0); final boolean[] newSupportedStandardBuckets = new boolean[NUMBER_STANDARD_POWER_BUCKETS]; @@ -250,12 +247,12 @@ public class MeasuredEnergyStatsTest { newSupportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = true; // switched false > true newSupportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = false; // switched true > false - final MeasuredEnergyStats.Config newConfig = - new MeasuredEnergyStats.Config(newSupportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config newConfig = + new EnergyConsumerStats.Config(newSupportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); - final MeasuredEnergyStats newStats = - MeasuredEnergyStats.createAndReadSummaryFromParcel(newConfig, parcel); + final EnergyConsumerStats newStats = + EnergyConsumerStats.createAndReadSummaryFromParcel(newConfig, parcel); for (int i = 0; i < NUMBER_STANDARD_POWER_BUCKETS; i++) { if (!newSupportedStandardBuckets[i]) { @@ -288,10 +285,10 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5); @@ -300,11 +297,11 @@ public class MeasuredEnergyStatsTest { stats.updateCustomBucket(1, 60); final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.writeSummaryToParcel(stats, parcel); + EnergyConsumerStats.writeSummaryToParcel(stats, parcel); parcel.setDataPosition(0); - MeasuredEnergyStats newStats = - MeasuredEnergyStats.createAndReadSummaryFromParcel(null, parcel); + EnergyConsumerStats newStats = + EnergyConsumerStats.createAndReadSummaryFromParcel(null, parcel); assertNull(newStats); parcel.recycle(); } @@ -317,29 +314,29 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 0); stats.updateStandardBucket(POWER_BUCKET_SCREEN_OTHER, 40); final Parcel parcel = Parcel.obtain(); - MeasuredEnergyStats.writeSummaryToParcel(stats, parcel); + EnergyConsumerStats.writeSummaryToParcel(stats, parcel); final boolean[] newSupportedStandardBuckets = new boolean[NUMBER_STANDARD_POWER_BUCKETS]; newSupportedStandardBuckets[POWER_BUCKET_SCREEN_ON] = true; newSupportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = true; // switched false > true newSupportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = false; // switched true > false - final MeasuredEnergyStats.Config newConfig = - new MeasuredEnergyStats.Config(newSupportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config newConfig = + new EnergyConsumerStats.Config(newSupportedStandardBuckets, customBucketNames, new int[0], new String[]{"s"}); parcel.setDataPosition(0); - final MeasuredEnergyStats newStats = - MeasuredEnergyStats.createAndReadSummaryFromParcel(newConfig, parcel); + final EnergyConsumerStats newStats = + EnergyConsumerStats.createAndReadSummaryFromParcel(newConfig, parcel); // The only non-0 entry in stats is no longer supported, so now there's no interesting data. assertNull(newStats); @@ -355,11 +352,11 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_DOZE] = false; supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, new int[]{POWER_BUCKET_SCREEN_ON, POWER_BUCKET_SCREEN_OTHER}, new String[]{"s0", "s1"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.setState(0, 1000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10, 2000); @@ -391,11 +388,11 @@ public class MeasuredEnergyStatsTest { @Test public void testIsValidCustomBucket() { - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[]{"A", "B", "C"}, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); assertFalse(stats.isValidCustomBucket(-1)); assertTrue(stats.isValidCustomBucket(0)); assertTrue(stats.isValidCustomBucket(1)); @@ -403,10 +400,10 @@ public class MeasuredEnergyStatsTest { assertFalse(stats.isValidCustomBucket(3)); assertFalse(stats.isValidCustomBucket(4)); - final MeasuredEnergyStats.Config boringConfig = - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + final EnergyConsumerStats.Config boringConfig = + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[0], new int[0], new String[]{"s"}); - final MeasuredEnergyStats boringStats = new MeasuredEnergyStats(boringConfig); + final EnergyConsumerStats boringStats = new EnergyConsumerStats(boringConfig); assertFalse(boringStats.isValidCustomBucket(-1)); assertFalse(boringStats.isValidCustomBucket(0)); assertFalse(boringStats.isValidCustomBucket(1)); @@ -414,11 +411,11 @@ public class MeasuredEnergyStatsTest { @Test public void testGetAccumulatedCustomBucketCharges() { - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[]{"A", "B", "C"}, new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.updateCustomBucket(0, 50); stats.updateCustomBucket(1, 60); stats.updateCustomBucket(2, 13); @@ -434,10 +431,10 @@ public class MeasuredEnergyStatsTest { @Test public void testGetAccumulatedCustomBucketCharges_empty() { - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[0], new int[0], new String[]{"s"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); final long[] output = stats.getAccumulatedCustomBucketCharges(); assertEquals(0, output.length); @@ -446,13 +443,13 @@ public class MeasuredEnergyStatsTest { @Test public void testGetNumberCustomChargeBuckets() { assertEquals(0, - new MeasuredEnergyStats( - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + new EnergyConsumerStats( + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[0], new int[0], new String[]{"s"})) .getNumberCustomPowerBuckets()); assertEquals(3, - new MeasuredEnergyStats( - new MeasuredEnergyStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], + new EnergyConsumerStats( + new EnergyConsumerStats.Config(new boolean[NUMBER_STANDARD_POWER_BUCKETS], new String[]{"A", "B", "C"}, new int[0], new String[]{"s"})) .getNumberCustomPowerBuckets()); } @@ -466,10 +463,10 @@ public class MeasuredEnergyStatsTest { supportedStandardBuckets[POWER_BUCKET_SCREEN_OTHER] = true; final int[] supportedMultiStateBuckets = new int[]{POWER_BUCKET_SCREEN_ON}; - final MeasuredEnergyStats.Config config = - new MeasuredEnergyStats.Config(supportedStandardBuckets, customBucketNames, + final EnergyConsumerStats.Config config = + new EnergyConsumerStats.Config(supportedStandardBuckets, customBucketNames, supportedMultiStateBuckets, new String[]{"s1", "s2"}); - final MeasuredEnergyStats stats = new MeasuredEnergyStats(config); + final EnergyConsumerStats stats = new EnergyConsumerStats(config); stats.setState(1, 0); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 10, 1000); stats.updateStandardBucket(POWER_BUCKET_SCREEN_ON, 5, 2000); @@ -482,7 +479,7 @@ public class MeasuredEnergyStatsTest { assertThat(stats.getAccumulatedStandardBucketCharge(POWER_BUCKET_SCREEN_ON, 1)) .isEqualTo(15); - MeasuredEnergyStats.resetIfNotNull(stats); + EnergyConsumerStats.resetIfNotNull(stats); // All charges should be reset to 0 for (int i = 0; i < NUMBER_STANDARD_POWER_BUCKETS; i++) { if (supportedStandardBuckets[i]) { @@ -517,13 +514,13 @@ public class MeasuredEnergyStatsTest { int exp; exp = POWER_BUCKET_SCREEN_ON; - assertEquals(exp, MeasuredEnergyStats.getDisplayPowerBucket(Display.STATE_ON)); - assertEquals(exp, MeasuredEnergyStats.getDisplayPowerBucket(Display.STATE_VR)); - assertEquals(exp, MeasuredEnergyStats.getDisplayPowerBucket(Display.STATE_ON_SUSPEND)); + assertEquals(exp, EnergyConsumerStats.getDisplayPowerBucket(Display.STATE_ON)); + assertEquals(exp, EnergyConsumerStats.getDisplayPowerBucket(Display.STATE_VR)); + assertEquals(exp, EnergyConsumerStats.getDisplayPowerBucket(Display.STATE_ON_SUSPEND)); exp = POWER_BUCKET_SCREEN_DOZE; - assertEquals(exp, MeasuredEnergyStats.getDisplayPowerBucket(Display.STATE_DOZE)); - assertEquals(exp, MeasuredEnergyStats.getDisplayPowerBucket(Display.STATE_DOZE_SUSPEND)); + assertEquals(exp, EnergyConsumerStats.getDisplayPowerBucket(Display.STATE_DOZE)); + assertEquals(exp, EnergyConsumerStats.getDisplayPowerBucket(Display.STATE_DOZE_SUSPEND)); } @Test @@ -534,7 +531,7 @@ public class MeasuredEnergyStatsTest { final int[] supportedMultiStateBuckets = {POWER_BUCKET_CPU, POWER_BUCKET_WIFI}; final String[] stateNames = {"s"}; - final MeasuredEnergyStats.Config config = new MeasuredEnergyStats.Config( + final EnergyConsumerStats.Config config = new EnergyConsumerStats.Config( supportedStandardBuckets, customBucketNames, supportedMultiStateBuckets, @@ -542,7 +539,7 @@ public class MeasuredEnergyStatsTest { assertTrue( "All standard and custom bucket supports match", config.isCompatible( - new MeasuredEnergyStats.Config( + new EnergyConsumerStats.Config( supportedStandardBuckets, customBucketNames, supportedMultiStateBuckets, @@ -554,7 +551,7 @@ public class MeasuredEnergyStatsTest { assertFalse( "Standard bucket support mismatch", config.isCompatible( - new MeasuredEnergyStats.Config( + new EnergyConsumerStats.Config( differentSupportedStandardBuckets, customBucketNames, supportedMultiStateBuckets, @@ -562,7 +559,7 @@ public class MeasuredEnergyStatsTest { assertFalse( "Custom bucket support mismatch", config.isCompatible( - new MeasuredEnergyStats.Config( + new EnergyConsumerStats.Config( supportedStandardBuckets, new String[]{"C", "B"}, supportedMultiStateBuckets, @@ -570,7 +567,7 @@ public class MeasuredEnergyStatsTest { assertFalse( "Multi-state bucket mismatch", config.isCompatible( - new MeasuredEnergyStats.Config( + new EnergyConsumerStats.Config( supportedStandardBuckets, new String[]{"A"}, new int[] {POWER_BUCKET_CPU, POWER_BUCKET_BLUETOOTH}, @@ -578,7 +575,7 @@ public class MeasuredEnergyStatsTest { assertFalse( "Multi-state bucket state list mismatch", config.isCompatible( - new MeasuredEnergyStats.Config( + new EnergyConsumerStats.Config( supportedStandardBuckets, new String[]{"A"}, supportedMultiStateBuckets, diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index d1bcf87c70f5..23ed0c4e5f82 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -136,7 +136,7 @@ import java.util.concurrent.TimeUnit; public final class BatteryStatsService extends IBatteryStats.Stub implements PowerManagerInternal.LowPowerModeListener, BatteryStatsImpl.PlatformIdleStateCallback, - BatteryStatsImpl.MeasuredEnergyRetriever, + BatteryStatsImpl.EnergyStatsRetriever, Watchdog.Monitor { static final String TAG = "BatteryStatsService"; static final boolean DBG = false; @@ -2531,7 +2531,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub awaitCompletion(); syncStats("dump", BatteryExternalStatsWorker.UPDATE_ALL); synchronized (mStats) { - mStats.dumpMeasuredEnergyStatsLocked(pw); + mStats.dumpEnergyConsumerStatsLocked(pw); } } diff --git a/services/core/java/com/android/server/power/stats/AmbientDisplayPowerCalculator.java b/services/core/java/com/android/server/power/stats/AmbientDisplayPowerCalculator.java index ae4bad51edc8..d14197f91203 100644 --- a/services/core/java/com/android/server/power/stats/AmbientDisplayPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/AmbientDisplayPowerCalculator.java @@ -52,12 +52,12 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { @Override public void calculate(BatteryUsageStats.Builder builder, BatteryStats batteryStats, long rawRealtimeUs, long rawUptimeUs, BatteryUsageStatsQuery query) { - final long measuredEnergyUC = batteryStats.getScreenDozeMeasuredBatteryConsumptionUC(); - final int powerModel = getPowerModel(measuredEnergyUC, query); + final long energyConsumerUC = batteryStats.getScreenDozeEnergyConsumptionUC(); + final int powerModel = getPowerModel(energyConsumerUC, query); final long durationMs = calculateDuration(batteryStats, rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED); final double powerMah = calculateTotalPower(powerModel, batteryStats, rawRealtimeUs, - measuredEnergyUC); + energyConsumerUC); builder.getAggregateBatteryConsumerBuilder( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE) .setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY, durationMs) @@ -72,7 +72,7 @@ public class AmbientDisplayPowerCalculator extends PowerCalculator { private double calculateTotalPower(@BatteryConsumer.PowerModel int powerModel, BatteryStats batteryStats, long rawRealtimeUs, long consumptionUC) { switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: return uCtoMah(consumptionUC); case BatteryConsumer.POWER_MODEL_POWER_PROFILE: default: diff --git a/services/core/java/com/android/server/power/stats/BatteryExternalStatsWorker.java b/services/core/java/com/android/server/power/stats/BatteryExternalStatsWorker.java index 49ac559bf93f..60dbbddf8b2c 100644 --- a/services/core/java/com/android/server/power/stats/BatteryExternalStatsWorker.java +++ b/services/core/java/com/android/server/power/stats/BatteryExternalStatsWorker.java @@ -43,7 +43,7 @@ import android.util.SparseLongArray; import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import com.android.internal.util.FrameworkStatsLog; import com.android.server.LocalServices; @@ -156,11 +156,13 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat * unless it is of {@link EnergyConsumer#type}=={@link EnergyConsumerType#OTHER} */ @GuardedBy("mWorkerLock") - private @Nullable SparseArray<int[]> mEnergyConsumerTypeToIdMap = null; + @Nullable + private SparseArray<int[]> mEnergyConsumerTypeToIdMap = null; - /** Snapshot of measured energies, or null if no measured energies are supported. */ + /** Snapshot of energy consumers, or null if no EnergyConsumers are supported. */ @GuardedBy("mWorkerLock") - private @Nullable MeasuredEnergySnapshot mMeasuredEnergySnapshot = null; + @Nullable + private EnergyConsumerSnapshot mEnergyConsumerSnapshot = null; /** * Timestamp at which all external stats were last collected in @@ -218,14 +220,14 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat final SparseArray<EnergyConsumer> idToConsumer = populateEnergyConsumerSubsystemMapsLocked(); if (idToConsumer != null) { - mMeasuredEnergySnapshot = new MeasuredEnergySnapshot(idToConsumer); + mEnergyConsumerSnapshot = new EnergyConsumerSnapshot(idToConsumer); try { final EnergyConsumerResult[] initialEcrs = getEnergyConsumptionData().get( EXTERNAL_STATS_SYNC_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); // According to spec, initialEcrs will include 0s for consumers that haven't // used any energy yet, as long as they are supported; however, // attributed uid energies will be absent if their energy is 0. - mMeasuredEnergySnapshot.updateAndGetDelta(initialEcrs, voltageMv); + mEnergyConsumerSnapshot.updateAndGetDelta(initialEcrs, voltageMv); } catch (TimeoutException | InterruptedException e) { Slog.w(TAG, "timeout or interrupt reading initial getEnergyConsumedAsync: " + e); @@ -235,12 +237,12 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat + e.getCause()); // Continue running, later attempts to query may be successful. } - customBucketNames = mMeasuredEnergySnapshot.getOtherOrdinalNames(); + customBucketNames = mEnergyConsumerSnapshot.getOtherOrdinalNames(); supportedStdBuckets = getSupportedEnergyBuckets(idToConsumer); } } synchronized (mStats) { - mStats.initMeasuredEnergyStatsLocked(supportedStdBuckets, customBucketNames); + mStats.initEnergyConsumerStatsLocked(supportedStdBuckets, customBucketNames); } } } @@ -520,7 +522,8 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat CompletableFuture<ModemActivityInfo> modemFuture = CompletableFuture.completedFuture(null); boolean railUpdated = false; - CompletableFuture<EnergyConsumerResult[]> futureECRs = getMeasuredEnergyLocked(updateFlags); + CompletableFuture<EnergyConsumerResult[]> futureECRs = + getEnergyConsumersLocked(updateFlags); if ((updateFlags & BatteryStatsImpl.ExternalStatsSync.UPDATE_WIFI) != 0) { // We were asked to fetch WiFi data. @@ -626,9 +629,9 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat Slog.w(TAG, "exception reading modem stats: " + e.getCause()); } - final MeasuredEnergySnapshot.MeasuredEnergyDeltaData measuredEnergyDeltas; - if (mMeasuredEnergySnapshot == null || futureECRs == null) { - measuredEnergyDeltas = null; + final EnergyConsumerSnapshot.EnergyConsumerDeltaData energyConsumerDeltas; + if (mEnergyConsumerSnapshot == null || futureECRs == null) { + energyConsumerDeltas = null; } else { final int voltageMv; synchronized (mStats) { @@ -639,7 +642,7 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat try { ecrs = futureECRs.get(EXTERNAL_STATS_SYNC_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); } catch (TimeoutException | InterruptedException e) { - // TODO (b/180519623): Invalidate the MeasuredEnergy derived data until next reset. + // TODO (b/180519623): Invalidate the EnergyConsumer derived data until next reset. Slog.w(TAG, "timeout or interrupt reading getEnergyConsumedAsync: " + e); ecrs = null; } catch (ExecutionException e) { @@ -647,7 +650,7 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat ecrs = null; } - measuredEnergyDeltas = mMeasuredEnergySnapshot.updateAndGetDelta(ecrs, voltageMv); + energyConsumerDeltas = mEnergyConsumerSnapshot.updateAndGetDelta(ecrs, voltageMv); } final long elapsedRealtime = SystemClock.elapsedRealtime(); @@ -663,9 +666,10 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat BatteryStats.HistoryItem.EVENT_COLLECT_EXTERNAL_STATS, reason, 0); - if (measuredEnergyDeltas != null && !measuredEnergyDeltas.isEmpty()) { - mStats.recordMeasuredEnergyDetailsLocked(elapsedRealtime, uptime, - mMeasuredEnergySnapshot.getMeasuredEnergyDetails(measuredEnergyDeltas)); + if (energyConsumerDeltas != null && !energyConsumerDeltas.isEmpty() + && mStats.isUsageHistoryEnabled()) { + mStats.recordEnergyConsumerDetailsLocked(elapsedRealtime, uptime, + mEnergyConsumerSnapshot.getEnergyConsumerDetails(energyConsumerDeltas)); } if ((updateFlags & UPDATE_CPU) != 0) { @@ -675,10 +679,10 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat } final long[] cpuClusterChargeUC; - if (measuredEnergyDeltas == null) { + if (energyConsumerDeltas == null) { cpuClusterChargeUC = null; } else { - cpuClusterChargeUC = measuredEnergyDeltas.cpuClusterChargeUC; + cpuClusterChargeUC = energyConsumerDeltas.cpuClusterChargeUC; } mStats.updateCpuTimeLocked(onBattery, onBatteryScreenOff, cpuClusterChargeUC); } @@ -692,37 +696,37 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat mStats.updateRpmStatsLocked(elapsedRealtimeUs); } - // Inform mStats about each applicable measured energy (unless addressed elsewhere). - if (measuredEnergyDeltas != null) { - final long[] displayChargeUC = measuredEnergyDeltas.displayChargeUC; + // Inform mStats about each applicable energy consumers (unless addressed elsewhere). + if (energyConsumerDeltas != null) { + final long[] displayChargeUC = energyConsumerDeltas.displayChargeUC; if (displayChargeUC != null && displayChargeUC.length > 0) { // If updating, pass in what BatteryExternalStatsWorker thinks // displayScreenStates is. - mStats.updateDisplayMeasuredEnergyStatsLocked(displayChargeUC, + mStats.updateDisplayEnergyConsumerStatsLocked(displayChargeUC, displayScreenStates, elapsedRealtime); } - final long gnssChargeUC = measuredEnergyDeltas.gnssChargeUC; - if (gnssChargeUC != MeasuredEnergySnapshot.UNAVAILABLE) { - mStats.updateGnssMeasuredEnergyStatsLocked(gnssChargeUC, elapsedRealtime); + final long gnssChargeUC = energyConsumerDeltas.gnssChargeUC; + if (gnssChargeUC != EnergyConsumerSnapshot.UNAVAILABLE) { + mStats.updateGnssEnergyConsumerStatsLocked(gnssChargeUC, elapsedRealtime); } } // Inform mStats about each applicable custom energy bucket. - if (measuredEnergyDeltas != null - && measuredEnergyDeltas.otherTotalChargeUC != null) { + if (energyConsumerDeltas != null + && energyConsumerDeltas.otherTotalChargeUC != null) { // Iterate over the custom (EnergyConsumerType.OTHER) ordinals. - for (int ord = 0; ord < measuredEnergyDeltas.otherTotalChargeUC.length; ord++) { - long totalEnergy = measuredEnergyDeltas.otherTotalChargeUC[ord]; - SparseLongArray uidEnergies = measuredEnergyDeltas.otherUidChargesUC[ord]; - mStats.updateCustomMeasuredEnergyStatsLocked(ord, totalEnergy, uidEnergies); + for (int ord = 0; ord < energyConsumerDeltas.otherTotalChargeUC.length; ord++) { + long totalEnergy = energyConsumerDeltas.otherTotalChargeUC[ord]; + SparseLongArray uidEnergies = energyConsumerDeltas.otherUidChargesUC[ord]; + mStats.updateCustomEnergyConsumerStatsLocked(ord, totalEnergy, uidEnergies); } } if (bluetoothInfo != null) { if (bluetoothInfo.isValid()) { - final long btChargeUC = measuredEnergyDeltas != null - ? measuredEnergyDeltas.bluetoothChargeUC - : MeasuredEnergySnapshot.UNAVAILABLE; + final long btChargeUC = energyConsumerDeltas != null + ? energyConsumerDeltas.bluetoothChargeUC + : EnergyConsumerSnapshot.UNAVAILABLE; mStats.updateBluetoothStateLocked(bluetoothInfo, btChargeUC, elapsedRealtime, uptime); } else { @@ -736,8 +740,9 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat if (wifiInfo != null) { if (wifiInfo.isValid()) { - final long wifiChargeUC = measuredEnergyDeltas != null ? - measuredEnergyDeltas.wifiChargeUC : MeasuredEnergySnapshot.UNAVAILABLE; + final long wifiChargeUC = + energyConsumerDeltas != null ? energyConsumerDeltas.wifiChargeUC + : EnergyConsumerSnapshot.UNAVAILABLE; final NetworkStatsManager networkStatsManager = mInjector.getSystemService( NetworkStatsManager.class); mStats.updateWifiState(extractDeltaLocked(wifiInfo), @@ -748,8 +753,8 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat } if (modemInfo != null) { - final long mobileRadioChargeUC = measuredEnergyDeltas != null - ? measuredEnergyDeltas.mobileRadioChargeUC : MeasuredEnergySnapshot.UNAVAILABLE; + final long mobileRadioChargeUC = energyConsumerDeltas != null + ? energyConsumerDeltas.mobileRadioChargeUC : EnergyConsumerSnapshot.UNAVAILABLE; final NetworkStatsManager networkStatsManager = mInjector.getSystemService( NetworkStatsManager.class); mStats.noteModemControllerActivity(modemInfo, mobileRadioChargeUC, elapsedRealtime, @@ -864,7 +869,7 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat /** * Map the {@link EnergyConsumerType}s in the given energyArray to - * their corresponding {@link MeasuredEnergyStats.StandardPowerBucket}s. + * their corresponding {@link EnergyConsumerStats.StandardPowerBucket}s. * Does not include custom energy buckets (which are always, by definition, supported). * * @return array with true for index i if standard energy bucket i is supported. @@ -874,30 +879,30 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat if (idToConsumer == null) { return null; } - final boolean[] buckets = new boolean[MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS]; + final boolean[] buckets = new boolean[EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS]; final int size = idToConsumer.size(); for (int idx = 0; idx < size; idx++) { final EnergyConsumer consumer = idToConsumer.valueAt(idx); switch (consumer.type) { case EnergyConsumerType.BLUETOOTH: - buckets[MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_BLUETOOTH] = true; break; case EnergyConsumerType.CPU_CLUSTER: - buckets[MeasuredEnergyStats.POWER_BUCKET_CPU] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_CPU] = true; break; case EnergyConsumerType.GNSS: - buckets[MeasuredEnergyStats.POWER_BUCKET_GNSS] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_GNSS] = true; break; case EnergyConsumerType.MOBILE_RADIO: - buckets[MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO] = true; break; case EnergyConsumerType.DISPLAY: - buckets[MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON] = true; - buckets[MeasuredEnergyStats.POWER_BUCKET_SCREEN_DOZE] = true; - buckets[MeasuredEnergyStats.POWER_BUCKET_SCREEN_OTHER] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_SCREEN_ON] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_SCREEN_DOZE] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_SCREEN_OTHER] = true; break; case EnergyConsumerType.WIFI: - buckets[MeasuredEnergyStats.POWER_BUCKET_WIFI] = true; + buckets[EnergyConsumerStats.POWER_BUCKET_WIFI] = true; break; } } @@ -925,9 +930,9 @@ public class BatteryExternalStatsWorker implements BatteryStatsImpl.ExternalStat @VisibleForTesting @GuardedBy("mWorkerLock") @Nullable - public CompletableFuture<EnergyConsumerResult[]> getMeasuredEnergyLocked( + public CompletableFuture<EnergyConsumerResult[]> getEnergyConsumersLocked( @ExternalUpdateFlag int flags) { - if (mMeasuredEnergySnapshot == null || mPowerStatsInternal == null) return null; + if (mEnergyConsumerSnapshot == null || mPowerStatsInternal == null) return null; if (flags == UPDATE_ALL) { // Gotta catch 'em all... including custom (non-specific) subsystems diff --git a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java index 855fcafd14c0..c559436b4a8d 100644 --- a/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java +++ b/services/core/java/com/android/server/power/stats/BatteryStatsImpl.java @@ -123,8 +123,8 @@ import com.android.internal.os.LongMultiStateCounter; import com.android.internal.os.PowerProfile; import com.android.internal.os.RailStats; import com.android.internal.os.RpmStats; -import com.android.internal.power.MeasuredEnergyStats; -import com.android.internal.power.MeasuredEnergyStats.StandardPowerBucket; +import com.android.internal.power.EnergyConsumerStats; +import com.android.internal.power.EnergyConsumerStats.StandardPowerBucket; import com.android.internal.util.ArrayUtils; import com.android.internal.util.FrameworkStatsLog; import com.android.internal.util.XmlUtils; @@ -211,7 +211,7 @@ public class BatteryStatsImpl extends BatteryStats { public static final int RESET_REASON_CORRUPT_FILE = 1; public static final int RESET_REASON_ADB_COMMAND = 2; public static final int RESET_REASON_FULL_CHARGE = 3; - public static final int RESET_REASON_MEASURED_ENERGY_BUCKETS_CHANGE = 4; + public static final int RESET_REASON_ENERGY_CONSUMER_BUCKETS_CHANGE = 4; protected Clock mClock; @@ -278,10 +278,10 @@ public class BatteryStatsImpl extends BatteryStats { } private static final int[] SUPPORTED_PER_PROCESS_STATE_STANDARD_ENERGY_BUCKETS = { - MeasuredEnergyStats.POWER_BUCKET_CPU, - MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO, - MeasuredEnergyStats.POWER_BUCKET_WIFI, - MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH, + EnergyConsumerStats.POWER_BUCKET_CPU, + EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO, + EnergyConsumerStats.POWER_BUCKET_WIFI, + EnergyConsumerStats.POWER_BUCKET_BLUETOOTH, }; // TimeInState counters need NUM_PROCESS_STATE states in order to accommodate @@ -384,7 +384,7 @@ public class BatteryStatsImpl extends BatteryStats { } /** interface to update rail information for power monitor */ - public interface MeasuredEnergyRetriever { + public interface EnergyStatsRetriever { /** Function to fill the map for the rail data stats * Used for power monitoring feature * @param railStats @@ -426,7 +426,7 @@ public class BatteryStatsImpl extends BatteryStats { } }; - public final MeasuredEnergyRetriever mMeasuredEnergyRetriever; + public final EnergyStatsRetriever mEnergyConsumerRetriever; /** * This handler is running on {@link BackgroundThread}. @@ -839,7 +839,7 @@ public class BatteryStatsImpl extends BatteryStats { public StopwatchTimer[] screenBrightnessTimers = new StopwatchTimer[NUM_SCREEN_BRIGHTNESS_BINS]; /** - * Per display screen state the last time {@link #updateDisplayMeasuredEnergyStatsLocked} + * Per display screen state the last time {@link #updateDisplayEnergyConsumerStatsLocked} * was called. */ public int screenStateAtLastEnergyMeasurement = Display.STATE_UNKNOWN; @@ -1340,7 +1340,7 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") @VisibleForTesting - protected @Nullable MeasuredEnergyStats.Config mMeasuredEnergyStatsConfig; + protected @Nullable EnergyConsumerStats.Config mEnergyConsumerStatsConfig; /** * Accumulated global (generally, device-wide total) charge consumption of various consumers @@ -1353,14 +1353,15 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") @VisibleForTesting - protected @Nullable MeasuredEnergyStats mGlobalMeasuredEnergyStats; - /** Bluetooth Power calculator for attributing measured bluetooth charge consumption to uids */ + @Nullable + protected EnergyConsumerStats mGlobalEnergyConsumerStats; + /** Bluetooth Power calculator for attributing bluetooth EnergyConsumer to uids */ @Nullable BluetoothPowerCalculator mBluetoothPowerCalculator = null; - /** Cpu Power calculator for attributing measured cpu charge consumption to uids */ + /** Cpu Power calculator for attributing cpu EnergyConsumer to uids */ @Nullable CpuPowerCalculator mCpuPowerCalculator = null; - /** Mobile Radio Power calculator for attributing measured radio charge consumption to uids */ + /** Mobile Radio Power calculator for attributing radio EnergyConsumer to uids */ @Nullable MobileRadioPowerCalculator mMobileRadioPowerCalculator = null; - /** Wifi Power calculator for attributing measured wifi charge consumption to uids */ + /** Wifi Power calculator for attributing wifi EnergyConsumer to uids */ @Nullable WifiPowerCalculator mWifiPowerCalculator = null; /** @@ -1635,7 +1636,7 @@ public class BatteryStatsImpl extends BatteryStats { mConstants.MAX_HISTORY_BUFFER, mStepDetailsCalculator, mClock); } mPlatformIdleStateCallback = null; - mMeasuredEnergyRetriever = null; + mEnergyConsumerRetriever = null; mUserInfoProvider = null; } @@ -5237,10 +5238,10 @@ public class BatteryStatsImpl extends BatteryStats { } if (shouldScheduleSync - && mGlobalMeasuredEnergyStats != null - && mGlobalMeasuredEnergyStats.isStandardBucketSupported( - MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON)) { - // Display measured energy stats is available. Prepare to schedule an + && mGlobalEnergyConsumerStats != null + && mGlobalEnergyConsumerStats.isStandardBucketSupported( + EnergyConsumerStats.POWER_BUCKET_SCREEN_ON)) { + // Display energy consumption stats is available. Prepare to schedule an // external sync. externalUpdateFlag |= ExternalStatsSync.UPDATE_DISPLAY; } @@ -7373,44 +7374,44 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") @Override - public long getBluetoothMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH); + public long getBluetoothEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_BLUETOOTH); } @GuardedBy("this") @Override - public long getCpuMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_CPU); + public long getCpuEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_CPU); } @GuardedBy("this") @Override - public long getGnssMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_GNSS); + public long getGnssEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_GNSS); } @GuardedBy("this") @Override - public long getMobileRadioMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO); + public long getMobileRadioEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO); } @GuardedBy("this") @Override - public long getScreenOnMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON); + public long getScreenOnEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_SCREEN_ON); } @GuardedBy("this") @Override - public long getScreenDozeMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_SCREEN_DOZE); + public long getScreenDozeEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_SCREEN_DOZE); } @GuardedBy("this") @Override - public long getWifiMeasuredBatteryConsumptionUC() { - return getPowerBucketConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_WIFI); + public long getWifiEnergyConsumptionUC() { + return getPowerBucketConsumptionUC(EnergyConsumerStats.POWER_BUCKET_WIFI); } /** @@ -7422,19 +7423,19 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") private long getPowerBucketConsumptionUC(@StandardPowerBucket int bucket) { - if (mGlobalMeasuredEnergyStats == null) { + if (mGlobalEnergyConsumerStats == null) { return POWER_DATA_UNAVAILABLE; } - return mGlobalMeasuredEnergyStats.getAccumulatedStandardBucketCharge(bucket); + return mGlobalEnergyConsumerStats.getAccumulatedStandardBucketCharge(bucket); } @GuardedBy("this") @Override - public @Nullable long[] getCustomConsumerMeasuredBatteryConsumptionUC() { - if (mGlobalMeasuredEnergyStats == null) { + public @Nullable long[] getCustomEnergyConsumerBatteryConsumptionUC() { + if (mGlobalEnergyConsumerStats == null) { return null; } - return mGlobalMeasuredEnergyStats.getAccumulatedCustomBucketCharges(); + return mGlobalEnergyConsumerStats.getAccumulatedCustomBucketCharges(); } /** @@ -7443,10 +7444,10 @@ public class BatteryStatsImpl extends BatteryStats { @GuardedBy("this") @Override public @NonNull String[] getCustomEnergyConsumerNames() { - if (mMeasuredEnergyStatsConfig == null) { + if (mEnergyConsumerStatsConfig == null) { return new String[0]; } - final String[] names = mMeasuredEnergyStatsConfig.getCustomBucketNames(); + final String[] names = mEnergyConsumerStatsConfig.getCustomBucketNames(); for (int i = 0; i < names.length; i++) { if (TextUtils.isEmpty(names[i])) { names[i] = "CUSTOM_" + BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + i; @@ -7456,14 +7457,14 @@ public class BatteryStatsImpl extends BatteryStats { } /** - * Adds measured energy delta to battery history. + * Adds energy consumer delta to battery history. */ @GuardedBy("this") - public void recordMeasuredEnergyDetailsLocked(long elapsedRealtimeMs, - long uptimeMs, MeasuredEnergyDetails measuredEnergyDetails) { + public void recordEnergyConsumerDetailsLocked(long elapsedRealtimeMs, + long uptimeMs, EnergyConsumerDetails energyConsumerDetails) { if (isUsageHistoryEnabled()) { - mHistory.recordMeasuredEnergyDetails(elapsedRealtimeMs, uptimeMs, - measuredEnergyDetails); + mHistory.recordEnergyConsumerDetails(elapsedRealtimeMs, uptimeMs, + energyConsumerDetails); } } @@ -7815,16 +7816,16 @@ public class BatteryStatsImpl extends BatteryStats { private final ArraySet<BinderCallStats> mBinderCallStats = new ArraySet<>(); /** - * Measured charge consumption by this uid while on battery. + * EnergyConsumer consumption by this uid while on battery. * Its '<b>custom</b> power buckets' correspond to the * {@link android.hardware.power.stats.EnergyConsumer.ordinal}s of (custom) energy consumer * type {@link android.hardware.power.stats.EnergyConsumerType#OTHER}). * * Will be null if energy consumer data is completely unavailable (in which case - * {@link #mGlobalMeasuredEnergyStats} will also be null) or if the power usage by this uid + * {@link #mGlobalEnergyConsumerStats} will also be null) or if the power usage by this uid * is 0 for every bucket. */ - private MeasuredEnergyStats mUidMeasuredEnergyStats; + private EnergyConsumerStats mUidEnergyConsumerStats; /** * Estimated total time spent by the system server handling requests from this uid. @@ -7905,8 +7906,8 @@ public class BatteryStatsImpl extends BatteryStats { if (bluetoothControllerActivity != null) { bluetoothControllerActivity.setState(batteryConsumerProcessState, elapsedTimeMs); } - final MeasuredEnergyStats energyStats = - getOrCreateMeasuredEnergyStatsIfSupportedLocked(); + final EnergyConsumerStats energyStats = + getOrCreateEnergyConsumerStatsIfSupportedLocked(); if (energyStats != null) { energyStats.setState(batteryConsumerProcessState, elapsedTimeMs); } @@ -8281,34 +8282,34 @@ public class BatteryStatsImpl extends BatteryStats { } @GuardedBy("mBsi") - private MeasuredEnergyStats getOrCreateMeasuredEnergyStatsLocked() { - if (mUidMeasuredEnergyStats == null) { - mUidMeasuredEnergyStats = new MeasuredEnergyStats(mBsi.mMeasuredEnergyStatsConfig); + private EnergyConsumerStats getOrCreateEnergyConsumerStatsLocked() { + if (mUidEnergyConsumerStats == null) { + mUidEnergyConsumerStats = new EnergyConsumerStats(mBsi.mEnergyConsumerStatsConfig); } - return mUidMeasuredEnergyStats; + return mUidEnergyConsumerStats; } @GuardedBy("mBsi") - private MeasuredEnergyStats getOrCreateMeasuredEnergyStatsIfSupportedLocked() { - if (mUidMeasuredEnergyStats == null && mBsi.mMeasuredEnergyStatsConfig != null) { - mUidMeasuredEnergyStats = new MeasuredEnergyStats(mBsi.mMeasuredEnergyStatsConfig); + private EnergyConsumerStats getOrCreateEnergyConsumerStatsIfSupportedLocked() { + if (mUidEnergyConsumerStats == null && mBsi.mEnergyConsumerStatsConfig != null) { + mUidEnergyConsumerStats = new EnergyConsumerStats(mBsi.mEnergyConsumerStatsConfig); } - return mUidMeasuredEnergyStats; + return mUidEnergyConsumerStats; } /** Adds the given charge to the given standard power bucket for this uid. */ @GuardedBy("mBsi") private void addChargeToStandardBucketLocked(long chargeDeltaUC, @StandardPowerBucket int powerBucket, long timestampMs) { - final MeasuredEnergyStats measuredEnergyStats = - getOrCreateMeasuredEnergyStatsLocked(); - measuredEnergyStats.updateStandardBucket(powerBucket, chargeDeltaUC, timestampMs); + final EnergyConsumerStats energyConsumerStats = + getOrCreateEnergyConsumerStatsLocked(); + energyConsumerStats.updateStandardBucket(powerBucket, chargeDeltaUC, timestampMs); } /** Adds the given charge to the given custom power bucket for this uid. */ @GuardedBy("mBsi") private void addChargeToCustomBucketLocked(long chargeDeltaUC, int powerBucket) { - getOrCreateMeasuredEnergyStatsLocked().updateCustomBucket(powerBucket, chargeDeltaUC, + getOrCreateEnergyConsumerStatsLocked().updateCustomBucket(powerBucket, chargeDeltaUC, mBsi.mClock.elapsedRealtime()); } @@ -8319,15 +8320,15 @@ public class BatteryStatsImpl extends BatteryStats { * @return consumption (in microcolombs) used by this uid for this power bucket */ @GuardedBy("mBsi") - public long getMeasuredBatteryConsumptionUC(@StandardPowerBucket int bucket) { - if (mBsi.mGlobalMeasuredEnergyStats == null - || !mBsi.mGlobalMeasuredEnergyStats.isStandardBucketSupported(bucket)) { + public long getEnergyConsumptionUC(@StandardPowerBucket int bucket) { + if (mBsi.mGlobalEnergyConsumerStats == null + || !mBsi.mGlobalEnergyConsumerStats.isStandardBucketSupported(bucket)) { return POWER_DATA_UNAVAILABLE; } - if (mUidMeasuredEnergyStats == null) { + if (mUidEnergyConsumerStats == null) { return 0L; // It is supported, but was never filled, so it must be 0 } - return mUidMeasuredEnergyStats.getAccumulatedStandardBucketCharge(bucket); + return mUidEnergyConsumerStats.getAccumulatedStandardBucketCharge(bucket); } /** @@ -8335,94 +8336,94 @@ public class BatteryStatsImpl extends BatteryStats { * bucket and a process state, such as Uid.PROCESS_STATE_TOP. */ @GuardedBy("mBsi") - public long getMeasuredBatteryConsumptionUC(@StandardPowerBucket int bucket, + public long getEnergyConsumptionUC(@StandardPowerBucket int bucket, int processState) { - if (mBsi.mGlobalMeasuredEnergyStats == null - || !mBsi.mGlobalMeasuredEnergyStats.isStandardBucketSupported(bucket)) { + if (mBsi.mGlobalEnergyConsumerStats == null + || !mBsi.mGlobalEnergyConsumerStats.isStandardBucketSupported(bucket)) { return POWER_DATA_UNAVAILABLE; } - if (mUidMeasuredEnergyStats == null) { + if (mUidEnergyConsumerStats == null) { return 0L; // It is supported, but was never filled, so it must be 0 } - return mUidMeasuredEnergyStats.getAccumulatedStandardBucketCharge(bucket, processState); + return mUidEnergyConsumerStats.getAccumulatedStandardBucketCharge(bucket, processState); } @GuardedBy("mBsi") @Override - public long[] getCustomConsumerMeasuredBatteryConsumptionUC() { - if (mBsi.mGlobalMeasuredEnergyStats == null) { + public long[] getCustomEnergyConsumerBatteryConsumptionUC() { + if (mBsi.mGlobalEnergyConsumerStats == null) { return null; } - if (mUidMeasuredEnergyStats == null) { + if (mUidEnergyConsumerStats == null) { // Custom buckets may exist. But all values for this uid are 0 so we report all 0s. - return new long[mBsi.mGlobalMeasuredEnergyStats.getNumberCustomPowerBuckets()]; + return new long[mBsi.mGlobalEnergyConsumerStats.getNumberCustomPowerBuckets()]; } - return mUidMeasuredEnergyStats.getAccumulatedCustomBucketCharges(); + return mUidEnergyConsumerStats.getAccumulatedCustomBucketCharges(); } @GuardedBy("mBsi") @Override - public long getBluetoothMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH); + public long getBluetoothEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_BLUETOOTH); } @GuardedBy("mBsi") @Override - public long getBluetoothMeasuredBatteryConsumptionUC( + public long getBluetoothEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState) { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH, + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_BLUETOOTH, processState); } @GuardedBy("mBsi") @Override - public long getCpuMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_CPU); + public long getCpuEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_CPU); } @GuardedBy("mBsi") @Override - public long getCpuMeasuredBatteryConsumptionUC( + public long getCpuEnergyConsumptionUC( @BatteryConsumer.ProcessState int processState) { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_CPU, + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_CPU, processState); } @GuardedBy("mBsi") @Override - public long getGnssMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_GNSS); + public long getGnssEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_GNSS); } @GuardedBy("mBsi") @Override - public long getMobileRadioMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO); + public long getMobileRadioEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO); } @GuardedBy("mBsi") @Override - public long getMobileRadioMeasuredBatteryConsumptionUC(int processState) { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO, + public long getMobileRadioEnergyConsumptionUC(int processState) { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO, processState); } @GuardedBy("mBsi") @Override - public long getScreenOnMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON); + public long getScreenOnEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_SCREEN_ON); } @GuardedBy("mBsi") @Override - public long getWifiMeasuredBatteryConsumptionUC() { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_WIFI); + public long getWifiEnergyConsumptionUC() { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_WIFI); } @GuardedBy("mBsi") @Override - public long getWifiMeasuredBatteryConsumptionUC(int processState) { - return getMeasuredBatteryConsumptionUC(MeasuredEnergyStats.POWER_BUCKET_WIFI, + public long getWifiEnergyConsumptionUC(int processState) { + return getEnergyConsumptionUC(EnergyConsumerStats.POWER_BUCKET_WIFI, processState); } @@ -9222,10 +9223,10 @@ public class BatteryStatsImpl extends BatteryStats { resetIfNotNull(mBluetoothControllerActivity, false, realtimeUs); resetIfNotNull(mModemControllerActivity, false, realtimeUs); - if (resetReason == RESET_REASON_MEASURED_ENERGY_BUCKETS_CHANGE) { - mUidMeasuredEnergyStats = null; + if (resetReason == RESET_REASON_ENERGY_CONSUMER_BUCKETS_CHANGE) { + mUidEnergyConsumerStats = null; } else { - MeasuredEnergyStats.resetIfNotNull(mUidMeasuredEnergyStats); + EnergyConsumerStats.resetIfNotNull(mUidEnergyConsumerStats); } resetIfNotNull(mUserCpuTime, false, realtimeUs); @@ -10365,8 +10366,8 @@ public class BatteryStatsImpl extends BatteryStats { elapsedRealtimeMs); } - final MeasuredEnergyStats energyStats = - getOrCreateMeasuredEnergyStatsIfSupportedLocked(); + final EnergyConsumerStats energyStats = + getOrCreateEnergyConsumerStatsIfSupportedLocked(); if (energyStats != null) { energyStats.setState(batteryConsumerProcessState, elapsedRealtimeMs); } @@ -10701,12 +10702,12 @@ public class BatteryStatsImpl extends BatteryStats { } public BatteryStatsImpl(File systemDir, Handler handler, PlatformIdleStateCallback cb, - MeasuredEnergyRetriever energyStatsCb, UserInfoProvider userInfoProvider) { + EnergyStatsRetriever energyStatsCb, UserInfoProvider userInfoProvider) { this(Clock.SYSTEM_CLOCK, systemDir, handler, cb, energyStatsCb, userInfoProvider); } private BatteryStatsImpl(Clock clock, File systemDir, Handler handler, - PlatformIdleStateCallback cb, MeasuredEnergyRetriever energyStatsCb, + PlatformIdleStateCallback cb, EnergyStatsRetriever energyStatsCb, UserInfoProvider userInfoProvider) { init(clock); @@ -10733,7 +10734,7 @@ public class BatteryStatsImpl extends BatteryStats { initDischarge(realtimeUs); updateDailyDeadlineLocked(); mPlatformIdleStateCallback = cb; - mMeasuredEnergyRetriever = energyStatsCb; + mEnergyConsumerRetriever = energyStatsCb; mUserInfoProvider = userInfoProvider; // Notify statsd that the system is initially not in doze. @@ -11477,7 +11478,7 @@ public class BatteryStatsImpl extends BatteryStats { mTmpRailStats.reset(); - MeasuredEnergyStats.resetIfNotNull(mGlobalMeasuredEnergyStats); + EnergyConsumerStats.resetIfNotNull(mGlobalEnergyConsumerStats); resetIfNotNull(mBinderThreadCpuTimesUs, false, elapsedRealtimeUs); @@ -11636,7 +11637,7 @@ public class BatteryStatsImpl extends BatteryStats { } final SparseDoubleArray uidEstimatedConsumptionMah = - (mGlobalMeasuredEnergyStats != null + (mGlobalEnergyConsumerStats != null && mWifiPowerCalculator != null && consumedChargeUC > 0) ? new SparseDoubleArray() : null; double totalEstimatedConsumptionMah = 0; @@ -11948,10 +11949,10 @@ public class BatteryStatsImpl extends BatteryStats { } } - // Update the MeasuredEnergyStats information. + // Update the EnergyConsumerStats information. if (uidEstimatedConsumptionMah != null) { - mGlobalMeasuredEnergyStats.updateStandardBucket( - MeasuredEnergyStats.POWER_BUCKET_WIFI, consumedChargeUC); + mGlobalEnergyConsumerStats.updateStandardBucket( + EnergyConsumerStats.POWER_BUCKET_WIFI, consumedChargeUC); // Now calculate the consumption for each uid, according to its proportional usage. if (!mHasWifiReporting) { @@ -11961,7 +11962,7 @@ public class BatteryStatsImpl extends BatteryStats { totalEstimatedConsumptionMah = mWifiPowerCalculator .calcGlobalPowerWithoutControllerDataMah(globalTimeMs); } - distributeEnergyToUidsLocked(MeasuredEnergyStats.POWER_BUCKET_WIFI, + distributeEnergyToUidsLocked(EnergyConsumerStats.POWER_BUCKET_WIFI, consumedChargeUC, uidEstimatedConsumptionMah, totalEstimatedConsumptionMah, elapsedRealtimeMs); } @@ -12003,9 +12004,9 @@ public class BatteryStatsImpl extends BatteryStats { final SparseDoubleArray uidEstimatedConsumptionMah; if (consumedChargeUC > 0 && mMobileRadioPowerCalculator != null - && mGlobalMeasuredEnergyStats != null) { - mGlobalMeasuredEnergyStats.updateStandardBucket( - MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO, consumedChargeUC); + && mGlobalEnergyConsumerStats != null) { + mGlobalEnergyConsumerStats.updateStandardBucket( + EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO, consumedChargeUC); uidEstimatedConsumptionMah = new SparseDoubleArray(); } else { uidEstimatedConsumptionMah = null; @@ -12120,7 +12121,7 @@ public class BatteryStatsImpl extends BatteryStats { (totalAppRadioTimeUs * appPackets) / totalPackets; u.noteMobileRadioActiveTimeLocked(appRadioTimeUs, elapsedRealtimeMs); - // Distribute measured mobile radio charge consumption based on app radio + // Distribute mobile radio charge consumption based on app radio // active time if (uidEstimatedConsumptionMah != null) { uidEstimatedConsumptionMah.incrementValue(u.getUid(), @@ -12164,7 +12165,7 @@ public class BatteryStatsImpl extends BatteryStats { } - // Update the MeasuredEnergyStats information. + // Update the EnergyConsumerStats information. if (uidEstimatedConsumptionMah != null) { double totalEstimatedConsumptionMah = 0.0; @@ -12197,7 +12198,7 @@ public class BatteryStatsImpl extends BatteryStats { totalEstimatedConsumptionMah += mMobileRadioPowerCalculator.calcScanTimePowerMah(scanTimeMs); - distributeEnergyToUidsLocked(MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO, + distributeEnergyToUidsLocked(EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO, consumedChargeUC, uidEstimatedConsumptionMah, totalEstimatedConsumptionMah, elapsedRealtimeMs); } @@ -12407,7 +12408,7 @@ public class BatteryStatsImpl extends BatteryStats { } final SparseDoubleArray uidEstimatedConsumptionMah = - (mGlobalMeasuredEnergyStats != null + (mGlobalEnergyConsumerStats != null && mBluetoothPowerCalculator != null && consumedChargeUC > 0) ? new SparseDoubleArray() : null; @@ -12590,15 +12591,15 @@ public class BatteryStatsImpl extends BatteryStats { mBluetoothActivity.getPowerCounter().addCountLocked((long) controllerMaMs); } - // Update the MeasuredEnergyStats information. + // Update the EnergyConsumerStats information. if (uidEstimatedConsumptionMah != null) { - mGlobalMeasuredEnergyStats.updateStandardBucket( - MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH, consumedChargeUC); + mGlobalEnergyConsumerStats.updateStandardBucket( + EnergyConsumerStats.POWER_BUCKET_BLUETOOTH, consumedChargeUC); double totalEstimatedMah = mBluetoothPowerCalculator.calculatePowerMah(rxTimeMs, txTimeMs, idleTimeMs); totalEstimatedMah = Math.max(totalEstimatedMah, controllerMaMs / MILLISECONDS_IN_HOUR); - distributeEnergyToUidsLocked(MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH, + distributeEnergyToUidsLocked(EnergyConsumerStats.POWER_BUCKET_BLUETOOTH, consumedChargeUC, uidEstimatedConsumptionMah, totalEstimatedMah, elapsedRealtimeMs); } @@ -12686,12 +12687,12 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") @SuppressWarnings("GuardedBy") // errorprone false positive on u.addChargeToStandardBucketLocked - private void updateCpuMeasuredEnergyStatsLocked(@NonNull long[] clusterChargeUC, + private void updateCpuEnergyConsumerStatsLocked(@NonNull long[] clusterChargeUC, @NonNull CpuDeltaPowerAccumulator accumulator) { if (DEBUG_ENERGY) { Slog.d(TAG, "Updating cpu cluster stats: " + Arrays.toString(clusterChargeUC)); } - if (mGlobalMeasuredEnergyStats == null) { + if (mGlobalEnergyConsumerStats == null) { return; } @@ -12704,10 +12705,10 @@ public class BatteryStatsImpl extends BatteryStats { final long timestampMs = mClock.elapsedRealtime(); - mGlobalMeasuredEnergyStats.updateStandardBucket(MeasuredEnergyStats.POWER_BUCKET_CPU, + mGlobalEnergyConsumerStats.updateStandardBucket(EnergyConsumerStats.POWER_BUCKET_CPU, totalCpuChargeUC, timestampMs); - // Calculate the measured microcoulombs/calculated milliamp-hour charge ratio for each + // Calculate the microcoulombs/milliamp-hour charge ratio for each // cluster to normalize each uid's estimated power usage against actual power usage for // a given cluster. final double[] clusterChargeRatio = new double[numClusters]; @@ -12730,14 +12731,14 @@ public class BatteryStatsImpl extends BatteryStats { final Uid uid = accumulator.perUidCpuClusterChargesMah.keyAt(i); final double[] uidClusterChargesMah = accumulator.perUidCpuClusterChargesMah.valueAt(i); - // Iterate each cpu cluster and sum the proportional measured cpu cluster charge to + // Iterate each cpu cluster and sum the proportional cpu cluster charge to // get the total cpu charge consumed by a uid. long uidCpuChargeUC = 0; for (int cluster = 0; cluster < numClusters; cluster++) { final double uidClusterChargeMah = uidClusterChargesMah[cluster]; - // Proportionally allocate the measured cpu cluster charge to a uid using the - // measured charge/calculated charge ratio. Add 0.5 to round the proportional + // Proportionally allocate the cpu cluster charge to a uid using the + // cluster charge/charge ratio. Add 0.5 to round the proportional // charge double to the nearest long value. final long uidClusterChargeUC = (long) (uidClusterChargeMah * clusterChargeRatio[cluster] @@ -12747,14 +12748,13 @@ public class BatteryStatsImpl extends BatteryStats { } if (uidCpuChargeUC < 0) { - Slog.wtf(TAG, - "Unexpected proportional measured charge (" + uidCpuChargeUC + ") for uid " - + uid.mUid); + Slog.wtf(TAG, "Unexpected proportional EnergyConsumer charge " + + "(" + uidCpuChargeUC + ") for uid " + uid.mUid); continue; } uid.addChargeToStandardBucketLocked(uidCpuChargeUC, - MeasuredEnergyStats.POWER_BUCKET_CPU, timestampMs); + EnergyConsumerStats.POWER_BUCKET_CPU, timestampMs); } } @@ -12770,10 +12770,10 @@ public class BatteryStatsImpl extends BatteryStats { * @param screenStates each screen state at the time this data collection was scheduled */ @GuardedBy("this") - public void updateDisplayMeasuredEnergyStatsLocked(long[] chargesUC, int[] screenStates, + public void updateDisplayEnergyConsumerStatsLocked(long[] chargesUC, int[] screenStates, long elapsedRealtimeMs) { if (DEBUG_ENERGY) Slog.d(TAG, "Updating display stats: " + Arrays.toString(chargesUC)); - if (mGlobalMeasuredEnergyStats == null) { + if (mGlobalEnergyConsumerStats == null) { return; } @@ -12825,9 +12825,9 @@ public class BatteryStatsImpl extends BatteryStats { } final @StandardPowerBucket int powerBucket = - MeasuredEnergyStats.getDisplayPowerBucket(oldScreenStates[i]); - mGlobalMeasuredEnergyStats.updateStandardBucket(powerBucket, chargeUC); - if (powerBucket == MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON) { + EnergyConsumerStats.getDisplayPowerBucket(oldScreenStates[i]); + mGlobalEnergyConsumerStats.updateStandardBucket(powerBucket, chargeUC); + if (powerBucket == EnergyConsumerStats.POWER_BUCKET_SCREEN_ON) { totalScreenOnChargeUC += chargeUC; } } @@ -12853,7 +12853,7 @@ public class BatteryStatsImpl extends BatteryStats { if (fgTimeUs == 0) continue; fgTimeUsArray.put(uid.getUid(), (double) fgTimeUs); } - distributeEnergyToUidsLocked(MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON, + distributeEnergyToUidsLocked(EnergyConsumerStats.POWER_BUCKET_SCREEN_ON, totalScreenOnChargeUC, fgTimeUsArray, 0, elapsedRealtimeMs); } @@ -12863,9 +12863,9 @@ public class BatteryStatsImpl extends BatteryStats { * @param chargeUC amount of charge (microcoulombs) used by GNSS since this was last called. */ @GuardedBy("this") - public void updateGnssMeasuredEnergyStatsLocked(long chargeUC, long elapsedRealtimeMs) { + public void updateGnssEnergyConsumerStatsLocked(long chargeUC, long elapsedRealtimeMs) { if (DEBUG_ENERGY) Slog.d(TAG, "Updating gnss stats: " + chargeUC); - if (mGlobalMeasuredEnergyStats == null) { + if (mGlobalEnergyConsumerStats == null) { return; } @@ -12884,7 +12884,7 @@ public class BatteryStatsImpl extends BatteryStats { return; } - mGlobalMeasuredEnergyStats.updateStandardBucket(MeasuredEnergyStats.POWER_BUCKET_GNSS, + mGlobalEnergyConsumerStats.updateStandardBucket(EnergyConsumerStats.POWER_BUCKET_GNSS, chargeUC); // Collect the per uid time since mark so that we can normalize power. @@ -12897,7 +12897,7 @@ public class BatteryStatsImpl extends BatteryStats { if (gnssTimeUs == 0) continue; gnssTimeUsArray.put(uid.getUid(), (double) gnssTimeUs); } - distributeEnergyToUidsLocked(MeasuredEnergyStats.POWER_BUCKET_GNSS, chargeUC, + distributeEnergyToUidsLocked(EnergyConsumerStats.POWER_BUCKET_GNSS, chargeUC, gnssTimeUsArray, 0, elapsedRealtimeMs); } @@ -12911,18 +12911,18 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") @SuppressWarnings("GuardedBy") // errorprone false positive on u.addChargeToCustomBucketLocked - public void updateCustomMeasuredEnergyStatsLocked(int customPowerBucket, + public void updateCustomEnergyConsumerStatsLocked(int customPowerBucket, long totalChargeUC, @Nullable SparseLongArray uidCharges) { if (DEBUG_ENERGY) { - Slog.d(TAG, "Updating attributed measured charge stats for custom bucket " + Slog.d(TAG, "Updating attributed EnergyConsumer stats for custom bucket " + customPowerBucket + " with total charge " + totalChargeUC - + " and uid charges " + String.valueOf(uidCharges)); + + " and uid charges " + uidCharges); } - if (mGlobalMeasuredEnergyStats == null) return; + if (mGlobalEnergyConsumerStats == null) return; if (!mOnBatteryInternal || mIgnoreNextExternalStats || totalChargeUC <= 0) return; - mGlobalMeasuredEnergyStats.updateCustomBucket(customPowerBucket, totalChargeUC, + mGlobalEnergyConsumerStats.updateCustomBucket(customPowerBucket, totalChargeUC, mClock.elapsedRealtime()); if (uidCharges == null) return; @@ -12942,8 +12942,9 @@ public class BatteryStatsImpl extends BatteryStats { // Recently removed uids (especially common for isolated uids) can reach this path // and are ignored. if (!Process.isIsolated(uidInt)) { - Slog.w(TAG, "Received measured charge " + totalChargeUC + " for custom bucket " - + customPowerBucket + " for non-existent uid " + uidInt); + Slog.w(TAG, "Received EnergyConsumer charge " + totalChargeUC + + " for custom bucket " + customPowerBucket + " for non-existent uid " + + uidInt); } } } @@ -12993,10 +12994,10 @@ public class BatteryStatsImpl extends BatteryStats { * Read and record Rail Energy data. */ public void updateRailStatsLocked() { - if (mMeasuredEnergyRetriever == null || !mTmpRailStats.isRailStatsAvailable()) { + if (mEnergyConsumerRetriever == null || !mTmpRailStats.isRailStatsAvailable()) { return; } - mMeasuredEnergyRetriever.fillRailDataStats(mTmpRailStats); + mEnergyConsumerRetriever.fillRailDataStats(mTmpRailStats); } /** Informs that external stats data has been completely flushed. */ @@ -13166,7 +13167,7 @@ public class BatteryStatsImpl extends BatteryStats { */ @GuardedBy("this") public void updateCpuTimeLocked(boolean onBattery, boolean onBatteryScreenOff, - long[] measuredCpuClusterChargeUC) { + long[] cpuClusterChargeUC) { if (mPowerProfile == null) { return; } @@ -13222,16 +13223,16 @@ public class BatteryStatsImpl extends BatteryStats { ? null : new SparseLongArray(); final CpuDeltaPowerAccumulator powerAccumulator; - if (mGlobalMeasuredEnergyStats != null - && mGlobalMeasuredEnergyStats.isStandardBucketSupported( - MeasuredEnergyStats.POWER_BUCKET_CPU) && mCpuPowerCalculator != null) { - if (measuredCpuClusterChargeUC == null) { + if (mGlobalEnergyConsumerStats != null + && mGlobalEnergyConsumerStats.isStandardBucketSupported( + EnergyConsumerStats.POWER_BUCKET_CPU) && mCpuPowerCalculator != null) { + if (cpuClusterChargeUC == null) { Slog.wtf(TAG, - "POWER_BUCKET_CPU supported but no measured Cpu Cluster charge reported " - + "on updateCpuTimeLocked!"); + "POWER_BUCKET_CPU supported but no EnergyConsumer Cpu Cluster charge " + + "reported on updateCpuTimeLocked!"); powerAccumulator = null; } else { - // Cpu Measured Energy is supported, create an object to accumulate the estimated + // Cpu EnergyConsumer is supported, create an object to accumulate the estimated // charge consumption since the last cpu update final int numClusters = mPowerProfile.getNumCpuClusters(); powerAccumulator = new CpuDeltaPowerAccumulator(mCpuPowerCalculator, numClusters); @@ -13250,7 +13251,7 @@ public class BatteryStatsImpl extends BatteryStats { powerAccumulator); mNumAllUidCpuTimeReads += 2; if (mConstants.TRACK_CPU_ACTIVE_CLUSTER_TIME) { - // Cpu Active times do not get any info ony how to attribute measured Cpu Cluster + // Cpu Active times do not get any info ony how to attribute Cpu Cluster // charge, so not need to provide the powerAccumulator readKernelUidCpuActiveTimesLocked(onBattery); readKernelUidCpuClusterTimesLocked(onBattery, powerAccumulator); @@ -13260,7 +13261,7 @@ public class BatteryStatsImpl extends BatteryStats { updateSystemServerThreadStats(); if (powerAccumulator != null) { - updateCpuMeasuredEnergyStatsLocked(measuredCpuClusterChargeUC, powerAccumulator); + updateCpuEnergyConsumerStatsLocked(cpuClusterChargeUC, powerAccumulator); } } @@ -14691,7 +14692,7 @@ public class BatteryStatsImpl extends BatteryStats { } @GuardedBy("this") - private boolean isUsageHistoryEnabled() { + boolean isUsageHistoryEnabled() { return mConstants.RECORD_USAGE_HISTORY; } @@ -14702,7 +14703,7 @@ public class BatteryStatsImpl extends BatteryStats { } /** - * Initialize the measured charge stats data structures. + * Initialize the EnergyConsumer stats data structures. * * @param supportedStandardBuckets boolean array indicating which {@link StandardPowerBucket}s * are currently supported. If null, none are supported @@ -14710,7 +14711,7 @@ public class BatteryStatsImpl extends BatteryStats { * @param customBucketNames names of custom (OTHER) EnergyConsumers on this device */ @GuardedBy("this") - public void initMeasuredEnergyStatsLocked(@Nullable boolean[] supportedStandardBuckets, + public void initEnergyConsumerStatsLocked(@Nullable boolean[] supportedStandardBuckets, String[] customBucketNames) { final int numDisplays = mPerDisplayBatteryStats.length; for (int i = 0; i < numDisplays; i++) { @@ -14720,44 +14721,44 @@ public class BatteryStatsImpl extends BatteryStats { final boolean compatibleConfig; if (supportedStandardBuckets != null) { - final MeasuredEnergyStats.Config config = new MeasuredEnergyStats.Config( + final EnergyConsumerStats.Config config = new EnergyConsumerStats.Config( supportedStandardBuckets, customBucketNames, SUPPORTED_PER_PROCESS_STATE_STANDARD_ENERGY_BUCKETS, getBatteryConsumerProcessStateNames()); - if (mMeasuredEnergyStatsConfig == null) { + if (mEnergyConsumerStatsConfig == null) { compatibleConfig = true; } else { - compatibleConfig = mMeasuredEnergyStatsConfig.isCompatible(config); + compatibleConfig = mEnergyConsumerStatsConfig.isCompatible(config); } - mMeasuredEnergyStatsConfig = config; - mGlobalMeasuredEnergyStats = new MeasuredEnergyStats(config); + mEnergyConsumerStatsConfig = config; + mGlobalEnergyConsumerStats = new EnergyConsumerStats(config); - if (supportedStandardBuckets[MeasuredEnergyStats.POWER_BUCKET_BLUETOOTH]) { + if (supportedStandardBuckets[EnergyConsumerStats.POWER_BUCKET_BLUETOOTH]) { mBluetoothPowerCalculator = new BluetoothPowerCalculator(mPowerProfile); } - if (supportedStandardBuckets[MeasuredEnergyStats.POWER_BUCKET_CPU]) { + if (supportedStandardBuckets[EnergyConsumerStats.POWER_BUCKET_CPU]) { mCpuPowerCalculator = new CpuPowerCalculator(mPowerProfile); } - if (supportedStandardBuckets[MeasuredEnergyStats.POWER_BUCKET_MOBILE_RADIO]) { + if (supportedStandardBuckets[EnergyConsumerStats.POWER_BUCKET_MOBILE_RADIO]) { mMobileRadioPowerCalculator = new MobileRadioPowerCalculator(mPowerProfile); } - if (supportedStandardBuckets[MeasuredEnergyStats.POWER_BUCKET_WIFI]) { + if (supportedStandardBuckets[EnergyConsumerStats.POWER_BUCKET_WIFI]) { mWifiPowerCalculator = new WifiPowerCalculator(mPowerProfile); } } else { - compatibleConfig = (mMeasuredEnergyStatsConfig == null); - // Measured energy no longer supported, wipe out the existing data. - mMeasuredEnergyStatsConfig = null; - mGlobalMeasuredEnergyStats = null; + compatibleConfig = (mEnergyConsumerStatsConfig == null); + // EnergyConsumer no longer supported, wipe out the existing data. + mEnergyConsumerStatsConfig = null; + mGlobalEnergyConsumerStats = null; } if (!compatibleConfig) { // Supported power buckets changed since last boot. // Existing data is no longer reliable. resetAllStatsLocked(SystemClock.uptimeMillis(), SystemClock.elapsedRealtime(), - RESET_REASON_MEASURED_ENERGY_BUCKETS_CHANGE); + RESET_REASON_ENERGY_CONSUMER_BUCKETS_CHANGE); } } @@ -15059,31 +15060,31 @@ public class BatteryStatsImpl extends BatteryStats { } /** - * Dump measured charge stats + * Dump EnergyConsumer stats */ @GuardedBy("this") - public void dumpMeasuredEnergyStatsLocked(PrintWriter pw) { - pw.printf("On battery measured charge stats (microcoulombs) \n"); - if (mGlobalMeasuredEnergyStats == null) { + public void dumpEnergyConsumerStatsLocked(PrintWriter pw) { + pw.printf("On-battery energy consumer stats (microcoulombs) \n"); + if (mGlobalEnergyConsumerStats == null) { pw.printf(" Not supported on this device.\n"); return; } - dumpMeasuredEnergyStatsLocked(pw, "global usage", mGlobalMeasuredEnergyStats); + dumpEnergyConsumerStatsLocked(pw, "global usage", mGlobalEnergyConsumerStats); int size = mUidStats.size(); for (int i = 0; i < size; i++) { final int u = mUidStats.keyAt(i); final Uid uid = mUidStats.get(u); final String name = "uid " + uid.mUid; - dumpMeasuredEnergyStatsLocked(pw, name, uid.mUidMeasuredEnergyStats); + dumpEnergyConsumerStatsLocked(pw, name, uid.mUidEnergyConsumerStats); } } - /** Dump measured charge stats for the given uid */ + /** Dump EnergyConsumer stats for the given uid */ @GuardedBy("this") - private void dumpMeasuredEnergyStatsLocked(PrintWriter pw, String name, - MeasuredEnergyStats stats) { + private void dumpEnergyConsumerStatsLocked(PrintWriter pw, String name, + EnergyConsumerStats stats) { if (stats == null) return; final IndentingPrintWriter iPw = new IndentingPrintWriter(pw, " "); iPw.increaseIndent(); @@ -15292,17 +15293,17 @@ public class BatteryStatsImpl extends BatteryStats { mNextMaxDailyDeadlineMs = in.readLong(); mBatteryTimeToFullSeconds = in.readLong(); - final MeasuredEnergyStats.Config config = MeasuredEnergyStats.Config.createFromParcel(in); - final MeasuredEnergyStats measuredEnergyStats = - MeasuredEnergyStats.createAndReadSummaryFromParcel(mMeasuredEnergyStatsConfig, in); + final EnergyConsumerStats.Config config = EnergyConsumerStats.Config.createFromParcel(in); + final EnergyConsumerStats energyConsumerStats = + EnergyConsumerStats.createAndReadSummaryFromParcel(mEnergyConsumerStatsConfig, in); if (config != null && Arrays.equals(config.getStateNames(), getBatteryConsumerProcessStateNames())) { /** * WARNING: Supported buckets may have changed across boots. Bucket mismatch is handled - * later when {@link #initMeasuredEnergyStatsLocked} is called. + * later when {@link #initEnergyConsumerStatsLocked} is called. */ - mMeasuredEnergyStatsConfig = config; - mGlobalMeasuredEnergyStats = measuredEnergyStats; + mEnergyConsumerStatsConfig = config; + mGlobalEnergyConsumerStats = energyConsumerStats; } mStartCount++; @@ -15631,8 +15632,8 @@ public class BatteryStatsImpl extends BatteryStats { u.mWifiRadioApWakeupCount = null; } - u.mUidMeasuredEnergyStats = MeasuredEnergyStats.createAndReadSummaryFromParcel( - mMeasuredEnergyStatsConfig, in); + u.mUidEnergyConsumerStats = EnergyConsumerStats.createAndReadSummaryFromParcel( + mEnergyConsumerStatsConfig, in); int NW = in.readInt(); if (NW > (MAX_WAKELOCKS_PER_UID+1)) { @@ -15806,8 +15807,8 @@ public class BatteryStatsImpl extends BatteryStats { out.writeLong(mNextMaxDailyDeadlineMs); out.writeLong(mBatteryTimeToFullSeconds); - MeasuredEnergyStats.Config.writeToParcel(mMeasuredEnergyStatsConfig, out); - MeasuredEnergyStats.writeSummaryToParcel(mGlobalMeasuredEnergyStats, out); + EnergyConsumerStats.Config.writeToParcel(mEnergyConsumerStatsConfig, out); + EnergyConsumerStats.writeSummaryToParcel(mGlobalEnergyConsumerStats, out); mScreenOnTimer.writeSummaryFromParcelLocked(out, nowRealtime); mScreenDozeTimer.writeSummaryFromParcelLocked(out, nowRealtime); @@ -16157,7 +16158,7 @@ public class BatteryStatsImpl extends BatteryStats { out.writeInt(0); } - MeasuredEnergyStats.writeSummaryToParcel(u.mUidMeasuredEnergyStats, out); + EnergyConsumerStats.writeSummaryToParcel(u.mUidEnergyConsumerStats, out); final ArrayMap<String, Uid.Wakelock> wakeStats = u.mWakelockStats.getMap(); int NW = wakeStats.size(); @@ -16393,7 +16394,7 @@ public class BatteryStatsImpl extends BatteryStats { dumpCpuPowerBracketsLocked(pw); pw.println(); - dumpMeasuredEnergyStatsLocked(pw); + dumpEnergyConsumerStatsLocked(pw); } @Override diff --git a/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java b/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java index 7da9197eb7b1..ebd4aec3aef9 100644 --- a/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java +++ b/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java @@ -91,7 +91,7 @@ public class BatteryUsageStatsProvider { mPowerCalculators.add(new ScreenPowerCalculator(mPowerProfile)); mPowerCalculators.add(new AmbientDisplayPowerCalculator(mPowerProfile)); mPowerCalculators.add(new IdlePowerCalculator(mPowerProfile)); - mPowerCalculators.add(new CustomMeasuredPowerCalculator(mPowerProfile)); + mPowerCalculators.add(new CustomEnergyConsumerPowerCalculator(mPowerProfile)); mPowerCalculators.add(new UserPowerCalculator()); // It is important that SystemServicePowerCalculator be applied last, diff --git a/services/core/java/com/android/server/power/stats/BluetoothPowerCalculator.java b/services/core/java/com/android/server/power/stats/BluetoothPowerCalculator.java index 0d4d4f21f6ff..2d96fcc4dac6 100644 --- a/services/core/java/com/android/server/power/stats/BluetoothPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/BluetoothPowerCalculator.java @@ -93,11 +93,11 @@ public class BluetoothPowerCalculator extends PowerCalculator { calculateApp(app, powerAndDuration, query); } - final long measuredChargeUC = batteryStats.getBluetoothMeasuredBatteryConsumptionUC(); - final int powerModel = getPowerModel(measuredChargeUC, query); + final long consumedEnergyUC = batteryStats.getBluetoothEnergyConsumptionUC(); + final int powerModel = getPowerModel(consumedEnergyUC, query); final ControllerActivityCounter activityCounter = batteryStats.getBluetoothControllerActivity(); - calculatePowerAndDuration(null, powerModel, measuredChargeUC, + calculatePowerAndDuration(null, powerModel, consumedEnergyUC, activityCounter, query.shouldForceUsePowerProfileModel(), powerAndDuration); // Subtract what the apps used, but clamp to 0. @@ -127,12 +127,12 @@ public class BluetoothPowerCalculator extends PowerCalculator { private void calculateApp(UidBatteryConsumer.Builder app, PowerAndDuration powerAndDuration, BatteryUsageStatsQuery query) { - final long measuredChargeUC = - app.getBatteryStatsUid().getBluetoothMeasuredBatteryConsumptionUC(); - final int powerModel = getPowerModel(measuredChargeUC, query); + final long consumedEnergyUC = + app.getBatteryStatsUid().getBluetoothEnergyConsumptionUC(); + final int powerModel = getPowerModel(consumedEnergyUC, query); final ControllerActivityCounter activityCounter = app.getBatteryStatsUid().getBluetoothControllerActivity(); - calculatePowerAndDuration(app.getBatteryStatsUid(), powerModel, measuredChargeUC, + calculatePowerAndDuration(app.getBatteryStatsUid(), powerModel, consumedEnergyUC, activityCounter, query.shouldForceUsePowerProfileModel(), powerAndDuration); app.setUsageDurationMillis( @@ -163,7 +163,7 @@ public class BluetoothPowerCalculator extends PowerCalculator { /** Returns bluetooth power usage based on the best data available. */ private void calculatePowerAndDuration(@Nullable BatteryStats.Uid uid, @BatteryConsumer.PowerModel int powerModel, - long measuredChargeUC, ControllerActivityCounter counter, boolean ignoreReportedPower, + long consumedEnergyUC, ControllerActivityCounter counter, boolean ignoreReportedPower, PowerAndDuration powerAndDuration) { if (counter == null) { powerAndDuration.durationMs = 0; @@ -183,8 +183,8 @@ public class BluetoothPowerCalculator extends PowerCalculator { powerAndDuration.durationMs = idleTimeMs + rxTimeMs + txTimeMs; - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { - powerAndDuration.powerMah = uCtoMah(measuredChargeUC); + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { + powerAndDuration.powerMah = uCtoMah(consumedEnergyUC); if (uid != null && powerAndDuration.keys != null) { for (int i = 0; i < powerAndDuration.keys.length; i++) { BatteryConsumer.Key key = powerAndDuration.keys[i]; @@ -195,7 +195,7 @@ public class BluetoothPowerCalculator extends PowerCalculator { } powerAndDuration.powerPerKeyMah[i] = - uCtoMah(uid.getBluetoothMeasuredBatteryConsumptionUC(processState)); + uCtoMah(uid.getBluetoothEnergyConsumptionUC(processState)); } } } else { diff --git a/services/core/java/com/android/server/power/stats/CpuPowerCalculator.java b/services/core/java/com/android/server/power/stats/CpuPowerCalculator.java index 8b38a35b97e4..5074838c037f 100644 --- a/services/core/java/com/android/server/power/stats/CpuPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/CpuPowerCalculator.java @@ -124,7 +124,7 @@ public class CpuPowerCalculator extends PowerCalculator { } } - final long consumptionUC = batteryStats.getCpuMeasuredBatteryConsumptionUC(); + final long consumptionUC = batteryStats.getCpuEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); builder.getAggregateBatteryConsumerBuilder( @@ -133,13 +133,13 @@ public class CpuPowerCalculator extends PowerCalculator { builder.getAggregateBatteryConsumerBuilder( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE) .setConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU, - powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY + powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION ? uCtoMah(consumptionUC) : totalPowerMah, powerModel); } private void calculateApp(UidBatteryConsumer.Builder app, BatteryStats.Uid u, BatteryUsageStatsQuery query, Result result, BatteryConsumer.Key[] keys) { - final long consumptionUC = u.getCpuMeasuredBatteryConsumptionUC(); + final long consumptionUC = u.getCpuEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); calculatePowerAndDuration(u, powerModel, consumptionUC, BatteryStats.STATS_SINCE_CHARGED, result); @@ -150,8 +150,8 @@ public class CpuPowerCalculator extends PowerCalculator { if (query.isProcessStateDataNeeded() && keys != null) { switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: - calculateMeasuredPowerPerProcessState(app, u, keys); + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: + calculateEnergyConsumptionPerProcessState(app, u, keys); break; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: calculateModeledPowerPerProcessState(app, u, keys, result); @@ -160,7 +160,7 @@ public class CpuPowerCalculator extends PowerCalculator { } } - private void calculateMeasuredPowerPerProcessState(UidBatteryConsumer.Builder app, + private void calculateEnergyConsumptionPerProcessState(UidBatteryConsumer.Builder app, BatteryStats.Uid u, BatteryConsumer.Key[] keys) { for (BatteryConsumer.Key key : keys) { // The key for PROCESS_STATE_UNSPECIFIED aka PROCESS_STATE_ANY has already been @@ -171,10 +171,10 @@ public class CpuPowerCalculator extends PowerCalculator { continue; } - final long consumptionUC = u.getCpuMeasuredBatteryConsumptionUC(key.processState); + final long consumptionUC = u.getCpuEnergyConsumptionUC(key.processState); if (consumptionUC != 0) { app.setConsumedPower(key, uCtoMah(consumptionUC), - BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } } } @@ -226,7 +226,7 @@ public class CpuPowerCalculator extends PowerCalculator { final double powerMah; switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: powerMah = uCtoMah(consumptionUC); break; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: diff --git a/services/core/java/com/android/server/power/stats/CustomMeasuredPowerCalculator.java b/services/core/java/com/android/server/power/stats/CustomEnergyConsumerPowerCalculator.java index a0f9d61eb071..5b7467e63c3a 100644 --- a/services/core/java/com/android/server/power/stats/CustomMeasuredPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/CustomEnergyConsumerPowerCalculator.java @@ -32,10 +32,10 @@ import java.util.Arrays; * Calculates the amount of power consumed by custom energy consumers (i.e. consumers of type * {@link android.hardware.power.stats.EnergyConsumerType#OTHER}). */ -public class CustomMeasuredPowerCalculator extends PowerCalculator { - private static final String TAG = "CustomMeasuredPowerCalc"; +public class CustomEnergyConsumerPowerCalculator extends PowerCalculator { + private static final String TAG = "CustomEnergyCsmrPowerCalc"; - public CustomMeasuredPowerCalculator(PowerProfile powerProfile) { + public CustomEnergyConsumerPowerCalculator(PowerProfile powerProfile) { } @Override @@ -55,16 +55,16 @@ public class CustomMeasuredPowerCalculator extends PowerCalculator { totalAppPowerMah = calculateApp(app, app.getBatteryStatsUid(), totalAppPowerMah); } - final double[] customMeasuredPowerMah = calculateMeasuredEnergiesMah( - batteryStats.getCustomConsumerMeasuredBatteryConsumptionUC()); - if (customMeasuredPowerMah != null) { + final double[] customEnergyConsumerPowerMah = uCtoMah( + batteryStats.getCustomEnergyConsumerBatteryConsumptionUC()); + if (customEnergyConsumerPowerMah != null) { final AggregateBatteryConsumer.Builder deviceBatteryConsumerBuilder = builder.getAggregateBatteryConsumerBuilder( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE); - for (int i = 0; i < customMeasuredPowerMah.length; i++) { + for (int i = 0; i < customEnergyConsumerPowerMah.length; i++) { deviceBatteryConsumerBuilder.setConsumedPowerForCustomComponent( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + i, - customMeasuredPowerMah[i]); + customEnergyConsumerPowerMah[i]); } } if (totalAppPowerMah != null) { @@ -82,38 +82,39 @@ public class CustomMeasuredPowerCalculator extends PowerCalculator { private double[] calculateApp(UidBatteryConsumer.Builder app, BatteryStats.Uid u, double[] totalPowerMah) { double[] newTotalPowerMah = null; - final double[] customMeasuredPowerMah = calculateMeasuredEnergiesMah( - u.getCustomConsumerMeasuredBatteryConsumptionUC()); - if (customMeasuredPowerMah != null) { + final double[] customEnergyConsumerPowerMah = + uCtoMah(u.getCustomEnergyConsumerBatteryConsumptionUC()); + if (customEnergyConsumerPowerMah != null) { if (totalPowerMah == null) { - newTotalPowerMah = new double[customMeasuredPowerMah.length]; - } else if (totalPowerMah.length != customMeasuredPowerMah.length) { + newTotalPowerMah = new double[customEnergyConsumerPowerMah.length]; + } else if (totalPowerMah.length != customEnergyConsumerPowerMah.length) { Slog.wtf(TAG, "Number of custom energy components is not the same for all apps: " - + totalPowerMah.length + ", " + customMeasuredPowerMah.length); - newTotalPowerMah = Arrays.copyOf(totalPowerMah, customMeasuredPowerMah.length); + + totalPowerMah.length + ", " + customEnergyConsumerPowerMah.length); + newTotalPowerMah = Arrays.copyOf(totalPowerMah, + customEnergyConsumerPowerMah.length); } else { newTotalPowerMah = totalPowerMah; } - for (int i = 0; i < customMeasuredPowerMah.length; i++) { + for (int i = 0; i < customEnergyConsumerPowerMah.length; i++) { app.setConsumedPowerForCustomComponent( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + i, - customMeasuredPowerMah[i]); + customEnergyConsumerPowerMah[i]); if (!app.isVirtualUid()) { - newTotalPowerMah[i] += customMeasuredPowerMah[i]; + newTotalPowerMah[i] += customEnergyConsumerPowerMah[i]; } } } return newTotalPowerMah; } - private double[] calculateMeasuredEnergiesMah(long[] measuredChargeUC) { - if (measuredChargeUC == null) { + private double[] uCtoMah(long[] chargeUC) { + if (chargeUC == null) { return null; } - final double[] measuredEnergiesMah = new double[measuredChargeUC.length]; - for (int i = 0; i < measuredChargeUC.length; i++) { - measuredEnergiesMah[i] = uCtoMah(measuredChargeUC[i]); + final double[] mah = new double[chargeUC.length]; + for (int i = 0; i < chargeUC.length; i++) { + mah[i] = uCtoMah(chargeUC[i]); } - return measuredEnergiesMah; + return mah; } } diff --git a/services/core/java/com/android/server/power/stats/MeasuredEnergySnapshot.java b/services/core/java/com/android/server/power/stats/EnergyConsumerSnapshot.java index c8b4e3671eb3..18595cad7741 100644 --- a/services/core/java/com/android/server/power/stats/MeasuredEnergySnapshot.java +++ b/services/core/java/com/android/server/power/stats/EnergyConsumerSnapshot.java @@ -23,7 +23,7 @@ import android.hardware.power.stats.EnergyConsumer; import android.hardware.power.stats.EnergyConsumerAttribution; import android.hardware.power.stats.EnergyConsumerResult; import android.hardware.power.stats.EnergyConsumerType; -import android.os.BatteryStats.MeasuredEnergyDetails; +import android.os.BatteryStats.EnergyConsumerDetails; import android.util.Slog; import android.util.SparseArray; import android.util.SparseIntArray; @@ -34,8 +34,8 @@ import java.io.PrintWriter; /** * Keeps snapshots of data from previously pulled EnergyConsumerResults. */ -public class MeasuredEnergySnapshot { - private static final String TAG = "MeasuredEnergySnapshot"; +public class EnergyConsumerSnapshot { + private static final String TAG = "EnergyConsumerSnapshot"; private static final int MILLIVOLTS_PER_VOLT = 1000; @@ -63,13 +63,13 @@ public class MeasuredEnergySnapshot { * * If an id is not present yet, it is treated as uninitialized (energy {@link #UNAVAILABLE}). */ - private final SparseLongArray mMeasuredEnergySnapshots; + private final SparseLongArray mEnergyConsumerSnapshots; /** * Voltage snapshots, mapping {@link EnergyConsumer#id} to voltage (mV) from the last time * each {@link EnergyConsumer} was updated. * - * see {@link mMeasuredEnergySnapshots}. + * see {@link #mEnergyConsumerSnapshots}. */ private final SparseIntArray mVoltageSnapshots; @@ -85,15 +85,15 @@ public class MeasuredEnergySnapshot { */ private final SparseArray<SparseLongArray> mAttributionSnapshots; - private MeasuredEnergyDetails mMeasuredEnergyDetails; + private EnergyConsumerDetails mEnergyConsumerDetails; /** * Constructor that initializes to the given id->EnergyConsumer map, indicating which consumers * exist and what their details are. */ - MeasuredEnergySnapshot(@NonNull SparseArray<EnergyConsumer> idToConsumerMap) { + EnergyConsumerSnapshot(@NonNull SparseArray<EnergyConsumer> idToConsumerMap) { mEnergyConsumers = idToConsumerMap; - mMeasuredEnergySnapshots = new SparseLongArray(mEnergyConsumers.size()); + mEnergyConsumerSnapshots = new SparseLongArray(mEnergyConsumers.size()); mVoltageSnapshots = new SparseIntArray(mEnergyConsumers.size()); mNumCpuClusterOrdinals = calculateNumOrdinals(EnergyConsumerType.CPU_CLUSTER, @@ -103,8 +103,8 @@ public class MeasuredEnergySnapshot { mAttributionSnapshots = new SparseArray<>(mNumOtherOrdinals); } - /** Class for returning the relevant data calculated from the measured energy delta */ - static class MeasuredEnergyDeltaData { + /** Class for returning the relevant data calculated from the energy consumer delta */ + static class EnergyConsumerDeltaData { /** The chargeUC for {@link EnergyConsumerType#BLUETOOTH}. */ public long bluetoothChargeUC = UNAVAILABLE; @@ -153,14 +153,14 @@ public class MeasuredEnergySnapshot { } /** - * Update with the some freshly measured energies and return the difference (delta) + * Update with the freshly retrieved energy consumers and return the difference (delta) * between the previously stored values and the passed-in values. * * @param ecrs EnergyConsumerResults for some (possibly not all) {@link EnergyConsumer}s. * Consumers that are not present are ignored (they are *not* treated as 0). * @param voltageMV current voltage. * - * @return a MeasuredEnergyDeltaData, containing maps from the updated consumers to + * @return an EnergyConsumerDeltaData, containing maps from the updated consumers to * their corresponding charge deltas. * Fields with no interesting data (consumers not present in ecrs or with no energy * difference) will generally be left as their default values. @@ -168,19 +168,19 @@ public class MeasuredEnergySnapshot { * length {@link #getOtherOrdinalNames().length}. * Returns null, if ecrs is null or empty. */ - public @Nullable MeasuredEnergyDeltaData updateAndGetDelta(EnergyConsumerResult[] ecrs, - int voltageMV) { + @Nullable + public EnergyConsumerDeltaData updateAndGetDelta(EnergyConsumerResult[] ecrs, int voltageMV) { if (ecrs == null || ecrs.length == 0) { return null; } if (voltageMV <= 0) { Slog.wtf(TAG, "Unexpected battery voltage (" + voltageMV - + " mV) when taking measured energy snapshot"); + + " mV) when taking energy consumer snapshot"); // TODO (b/181685156): consider adding the nominal voltage to power profile and // falling back to it if measured voltage is unavailable. return null; } - final MeasuredEnergyDeltaData output = new MeasuredEnergyDeltaData(); + final EnergyConsumerDeltaData output = new EnergyConsumerDeltaData(); for (final EnergyConsumerResult ecr : ecrs) { // Extract the new energy data for the current consumer. @@ -198,9 +198,9 @@ public class MeasuredEnergySnapshot { final int ordinal = consumer.ordinal; // Look up, and update, the old energy and voltage information about this consumer. - final long oldEnergyUJ = mMeasuredEnergySnapshots.get(consumerId, UNAVAILABLE); + final long oldEnergyUJ = mEnergyConsumerSnapshots.get(consumerId, UNAVAILABLE); final int oldVoltageMV = mVoltageSnapshots.get(consumerId); - mMeasuredEnergySnapshots.put(consumerId, newEnergyUJ); + mEnergyConsumerSnapshots.put(consumerId, newEnergyUJ); mVoltageSnapshots.put(consumerId, voltageMV); final int avgVoltageMV = (oldVoltageMV + voltageMV + 1) / 2; @@ -275,8 +275,8 @@ public class MeasuredEnergySnapshot { /** * For a consumer of type {@link EnergyConsumerType#OTHER}, updates - * {@link #mAttributionSnapshots} with freshly measured energies (per uid) and returns the - * charge consumed (in microcoulombs) between the previously stored values and the passed-in + * {@link #mAttributionSnapshots} with freshly retrieved energy consumers (per uid) and returns + * the charge consumed (in microcoulombs) between the previously stored values and the passed-in * values. * * @param consumerInfo a consumer of type {@link EnergyConsumerType#OTHER}. @@ -284,7 +284,7 @@ public class MeasuredEnergySnapshot { * Any uid not present is treated as having energy 0. * If null or empty, all uids are treated as having energy 0. * @param avgVoltageMV The average voltage since the last snapshot. - * @return A map (in the sense of {@link MeasuredEnergyDeltaData#otherUidChargesUC} for this + * @return A map (in the sense of {@link EnergyConsumerDeltaData#otherUidChargesUC} for this * consumer) of uid -> chargeDelta, with all uids that have a non-zero chargeDelta. * Returns null if no delta available to calculate. */ @@ -342,7 +342,7 @@ public class MeasuredEnergySnapshot { /** Dump debug data. */ public void dump(PrintWriter pw) { - pw.println("Measured energy snapshot"); + pw.println("Energy consumer snapshot"); pw.println("List of EnergyConsumers:"); for (int i = 0; i < mEnergyConsumers.size(); i++) { final int id = mEnergyConsumers.keyAt(i); @@ -351,9 +351,9 @@ public class MeasuredEnergySnapshot { consumer.id, consumer.ordinal, consumer.type, consumer.name)); } pw.println("Map of consumerIds to energy (in microjoules):"); - for (int i = 0; i < mMeasuredEnergySnapshots.size(); i++) { - final int id = mMeasuredEnergySnapshots.keyAt(i); - final long energyUJ = mMeasuredEnergySnapshots.valueAt(i); + for (int i = 0; i < mEnergyConsumerSnapshots.size(); i++) { + final int id = mEnergyConsumerSnapshots.keyAt(i); + final long energyUJ = mEnergyConsumerSnapshots.valueAt(i); final long voltageMV = mVoltageSnapshots.valueAt(i); pw.println(String.format(" Consumer %d has energy %d uJ at %d mV", id, energyUJ, voltageMV)); @@ -418,19 +418,19 @@ public class MeasuredEnergySnapshot { } /** - * Converts the MeasuredEnergyDeltaData object to MeasuredEnergyDetails, which can + * Converts the EnergyConsumerDeltaData object to EnergyConsumerDetails, which can * be saved in battery history. */ - MeasuredEnergyDetails getMeasuredEnergyDetails( - MeasuredEnergySnapshot.MeasuredEnergyDeltaData delta) { - if (mMeasuredEnergyDetails == null) { - mMeasuredEnergyDetails = createMeasuredEnergyDetails(); + EnergyConsumerDetails getEnergyConsumerDetails( + EnergyConsumerDeltaData delta) { + if (mEnergyConsumerDetails == null) { + mEnergyConsumerDetails = createEnergyConsumerDetails(); } - final long[] chargeUC = mMeasuredEnergyDetails.chargeUC; - for (int i = 0; i < mMeasuredEnergyDetails.consumers.length; i++) { - MeasuredEnergyDetails.EnergyConsumer energyConsumer = - mMeasuredEnergyDetails.consumers[i]; + final long[] chargeUC = mEnergyConsumerDetails.chargeUC; + for (int i = 0; i < mEnergyConsumerDetails.consumers.length; i++) { + EnergyConsumerDetails.EnergyConsumer energyConsumer = + mEnergyConsumerDetails.consumers[i]; switch (energyConsumer.type) { case EnergyConsumerType.BLUETOOTH: chargeUC[i] = delta.bluetoothChargeUC; @@ -470,17 +470,17 @@ public class MeasuredEnergySnapshot { break; } } - return mMeasuredEnergyDetails; + return mEnergyConsumerDetails; } - private MeasuredEnergyDetails createMeasuredEnergyDetails() { - MeasuredEnergyDetails details = new MeasuredEnergyDetails(); + private EnergyConsumerDetails createEnergyConsumerDetails() { + EnergyConsumerDetails details = new EnergyConsumerDetails(); details.consumers = - new MeasuredEnergyDetails.EnergyConsumer[mEnergyConsumers.size()]; + new EnergyConsumerDetails.EnergyConsumer[mEnergyConsumers.size()]; for (int i = 0; i < mEnergyConsumers.size(); i++) { EnergyConsumer energyConsumer = mEnergyConsumers.valueAt(i); - MeasuredEnergyDetails.EnergyConsumer consumer = - new MeasuredEnergyDetails.EnergyConsumer(); + EnergyConsumerDetails.EnergyConsumer consumer = + new EnergyConsumerDetails.EnergyConsumer(); consumer.type = energyConsumer.type; consumer.ordinal = energyConsumer.ordinal; switch (consumer.type) { diff --git a/services/core/java/com/android/server/power/stats/GnssPowerCalculator.java b/services/core/java/com/android/server/power/stats/GnssPowerCalculator.java index f9356abd53ab..ab22e3e3f94c 100644 --- a/services/core/java/com/android/server/power/stats/GnssPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/GnssPowerCalculator.java @@ -58,7 +58,7 @@ public class GnssPowerCalculator extends PowerCalculator { for (int i = uidBatteryConsumerBuilders.size() - 1; i >= 0; i--) { final UidBatteryConsumer.Builder app = uidBatteryConsumerBuilders.valueAt(i); final long consumptionUC = - app.getBatteryStatsUid().getGnssMeasuredBatteryConsumptionUC(); + app.getBatteryStatsUid().getGnssEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); final double powerMah = calculateApp(app, app.getBatteryStatsUid(), powerModel, rawRealtimeUs, averageGnssPowerMa, consumptionUC); @@ -67,10 +67,10 @@ public class GnssPowerCalculator extends PowerCalculator { } } - final long consumptionUC = batteryStats.getGnssMeasuredBatteryConsumptionUC(); + final long consumptionUC = batteryStats.getGnssEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); double powerMah; - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { powerMah = uCtoMah(consumptionUC); } else { powerMah = appsPowerMah; @@ -85,12 +85,12 @@ public class GnssPowerCalculator extends PowerCalculator { private double calculateApp(UidBatteryConsumer.Builder app, BatteryStats.Uid u, @BatteryConsumer.PowerModel int powerModel, long rawRealtimeUs, - double averageGnssPowerMa, long measuredChargeUC) { + double averageGnssPowerMa, long consumedEnergyUC) { final long durationMs = computeDuration(u, rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED); final double powerMah; switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: - powerMah = uCtoMah(measuredChargeUC); + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: + powerMah = uCtoMah(consumedEnergyUC); break; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: default: diff --git a/services/core/java/com/android/server/power/stats/MobileRadioPowerCalculator.java b/services/core/java/com/android/server/power/stats/MobileRadioPowerCalculator.java index 2c7aea9b5878..4608e9a213b1 100644 --- a/services/core/java/com/android/server/power/stats/MobileRadioPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/MobileRadioPowerCalculator.java @@ -128,20 +128,20 @@ public class MobileRadioPowerCalculator extends PowerCalculator { PowerAndDuration total = new PowerAndDuration(); - final long totalConsumptionUC = batteryStats.getMobileRadioMeasuredBatteryConsumptionUC(); + final long totalConsumptionUC = batteryStats.getMobileRadioEnergyConsumptionUC(); final int powerModel = getPowerModel(totalConsumptionUC, query); final double totalActivePowerMah; final ArrayList<UidBatteryConsumer.Builder> apps; final LongArrayQueue appDurationsMs; - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { - // Measured energy is available, don't bother calculating power. + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { + // EnergyConsumer is available, don't bother calculating power. totalActivePowerMah = Double.NaN; apps = null; appDurationsMs = null; } else { totalActivePowerMah = calculateActiveModemPowerMah(batteryStats, rawRealtimeUs); - apps = new ArrayList(); + apps = new ArrayList<>(); appDurationsMs = new LongArrayQueue(); } @@ -169,9 +169,9 @@ public class MobileRadioPowerCalculator extends PowerCalculator { app.setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO, radioActiveDurationMs); - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { - // Measured energy is available, populate the consumed power now. - final long appConsumptionUC = uid.getMobileRadioMeasuredBatteryConsumptionUC(); + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { + // EnergyConsumer is available, populate the consumed power now. + final long appConsumptionUC = uid.getMobileRadioEnergyConsumptionUC(); if (appConsumptionUC != BatteryStats.POWER_DATA_UNAVAILABLE) { final double appConsumptionMah = uCtoMah(appConsumptionUC); if (!app.isVirtualUid()) { @@ -188,7 +188,7 @@ public class MobileRadioPowerCalculator extends PowerCalculator { continue; } final long consumptionInStateUc = - uid.getMobileRadioMeasuredBatteryConsumptionUC(processState); + uid.getMobileRadioEnergyConsumptionUC(processState); final double powerInStateMah = uCtoMah(consumptionInStateUc); app.setConsumedPower(key, powerInStateMah, powerModel); } @@ -207,7 +207,7 @@ public class MobileRadioPowerCalculator extends PowerCalculator { totalActiveDurationMs = total.totalAppDurationMs; } - if (powerModel != BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { + if (powerModel != BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { // Need to smear the calculated total active power across the apps based on app // active durations. final int appSize = apps.size(); @@ -259,7 +259,7 @@ public class MobileRadioPowerCalculator extends PowerCalculator { total.remainingDurationMs = totalActiveDurationMs - total.totalAppDurationMs; // Calculate remaining power consumption. - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { total.remainingPowerMah = uCtoMah(totalConsumptionUC) - total.totalAppPowerMah; if (total.remainingPowerMah < 0) total.remainingPowerMah = 0; } else { diff --git a/services/core/java/com/android/server/power/stats/PowerCalculator.java b/services/core/java/com/android/server/power/stats/PowerCalculator.java index 1652f732f4b7..fe68d8fc8743 100644 --- a/services/core/java/com/android/server/power/stats/PowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/PowerCalculator.java @@ -79,17 +79,17 @@ public abstract class PowerCalculator { } protected static @BatteryConsumer.PowerModel int getPowerModel( - long measuredEnergyUC, @NonNull BatteryUsageStatsQuery query) { - if (measuredEnergyUC != BatteryStats.POWER_DATA_UNAVAILABLE + long consumedEnergyUC, @NonNull BatteryUsageStatsQuery query) { + if (consumedEnergyUC != BatteryStats.POWER_DATA_UNAVAILABLE && !query.shouldForceUsePowerProfileModel()) { - return BatteryConsumer.POWER_MODEL_MEASURED_ENERGY; + return BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION; } return BatteryConsumer.POWER_MODEL_POWER_PROFILE; } - protected static @BatteryConsumer.PowerModel int getPowerModel(long measuredEnergyUC) { - return measuredEnergyUC != BatteryStats.POWER_DATA_UNAVAILABLE - ? BatteryConsumer.POWER_MODEL_MEASURED_ENERGY + protected static @BatteryConsumer.PowerModel int getPowerModel(long consumedEnergyUC) { + return consumedEnergyUC != BatteryStats.POWER_DATA_UNAVAILABLE + ? BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION : BatteryConsumer.POWER_MODEL_POWER_PROFILE; } diff --git a/services/core/java/com/android/server/power/stats/ScreenPowerCalculator.java b/services/core/java/com/android/server/power/stats/ScreenPowerCalculator.java index ddcbb0425183..25dc9b109637 100644 --- a/services/core/java/com/android/server/power/stats/ScreenPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/ScreenPowerCalculator.java @@ -73,7 +73,7 @@ public class ScreenPowerCalculator extends PowerCalculator { long rawRealtimeUs, long rawUptimeUs, BatteryUsageStatsQuery query) { final PowerAndDuration totalPowerAndDuration = new PowerAndDuration(); - final long consumptionUC = batteryStats.getScreenOnMeasuredBatteryConsumptionUC(); + final long consumptionUC = batteryStats.getScreenOnEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); calculateTotalDurationAndPower(totalPowerAndDuration, powerModel, batteryStats, rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED, consumptionUC); @@ -87,12 +87,12 @@ public class ScreenPowerCalculator extends PowerCalculator { final SparseArray<UidBatteryConsumer.Builder> uidBatteryConsumerBuilders = builder.getUidBatteryConsumerBuilders(); switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: final PowerAndDuration appPowerAndDuration = new PowerAndDuration(); for (int i = uidBatteryConsumerBuilders.size() - 1; i >= 0; i--) { final UidBatteryConsumer.Builder app = uidBatteryConsumerBuilders.valueAt(i); - calculateAppUsingMeasuredEnergy(appPowerAndDuration, app.getBatteryStatsUid(), - rawRealtimeUs); + calculateAppUsingEnergyConsumption(appPowerAndDuration, + app.getBatteryStatsUid(), rawRealtimeUs); app.setUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN, appPowerAndDuration.durationMs) .setConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN, @@ -134,7 +134,7 @@ public class ScreenPowerCalculator extends PowerCalculator { statsType); switch (powerModel) { - case BatteryConsumer.POWER_MODEL_MEASURED_ENERGY: + case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: totalPowerAndDuration.powerMah = uCtoMah(consumptionUC); break; case BatteryConsumer.POWER_MODEL_POWER_PROFILE: @@ -144,11 +144,11 @@ public class ScreenPowerCalculator extends PowerCalculator { } } - private void calculateAppUsingMeasuredEnergy(PowerAndDuration appPowerAndDuration, + private void calculateAppUsingEnergyConsumption(PowerAndDuration appPowerAndDuration, BatteryStats.Uid u, long rawRealtimeUs) { appPowerAndDuration.durationMs = getProcessForegroundTimeMs(u, rawRealtimeUs); - final long chargeUC = u.getScreenOnMeasuredBatteryConsumptionUC(); + final long chargeUC = u.getScreenOnEnergyConsumptionUC(); if (chargeUC < 0) { Slog.wtf(TAG, "Screen energy not supported, so calculateApp shouldn't de called"); appPowerAndDuration.powerMah = 0; diff --git a/services/core/java/com/android/server/power/stats/SystemServicePowerCalculator.java b/services/core/java/com/android/server/power/stats/SystemServicePowerCalculator.java index cd4b58616e0e..aa17d4fb69bf 100644 --- a/services/core/java/com/android/server/power/stats/SystemServicePowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/SystemServicePowerCalculator.java @@ -73,12 +73,12 @@ public class SystemServicePowerCalculator extends PowerCalculator { return; } - final long consumptionUC = systemUid.getCpuMeasuredBatteryConsumptionUC(); + final long consumptionUC = systemUid.getCpuEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); double systemServicePowerMah; - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { - systemServicePowerMah = calculatePowerUsingMeasuredConsumption(batteryStats, + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { + systemServicePowerMah = calculatePowerUsingEnergyConsumption(batteryStats, systemUid, consumptionUC); } else { systemServicePowerMah = calculatePowerUsingPowerProfile(batteryStats); @@ -120,11 +120,11 @@ public class SystemServicePowerCalculator extends PowerCalculator { systemServicePowerMah); } - private double calculatePowerUsingMeasuredConsumption(BatteryStats batteryStats, + private double calculatePowerUsingEnergyConsumption(BatteryStats batteryStats, BatteryStats.Uid systemUid, long consumptionUC) { // Use the PowerProfile based model to estimate the ratio between the power consumed // while handling incoming binder calls and the entire System UID power consumption. - // Apply that ratio to the _measured_ system UID power consumption to get a more + // Apply that ratio to the _EnergyConsumer_ system UID power consumption to get a more // accurate estimate of the power consumed by incoming binder calls. final double systemServiceModeledPowerMah = calculatePowerUsingPowerProfile(batteryStats); final double systemUidModeledPowerMah = mCpuPowerCalculator.calculateUidModeledPowerMah( diff --git a/services/core/java/com/android/server/power/stats/WifiPowerCalculator.java b/services/core/java/com/android/server/power/stats/WifiPowerCalculator.java index 4f5c8a5abda2..4d055b4bf74b 100644 --- a/services/core/java/com/android/server/power/stats/WifiPowerCalculator.java +++ b/services/core/java/com/android/server/power/stats/WifiPowerCalculator.java @@ -107,7 +107,7 @@ public class WifiPowerCalculator extends PowerCalculator { } final long consumptionUC = - app.getBatteryStatsUid().getWifiMeasuredBatteryConsumptionUC(); + app.getBatteryStatsUid().getWifiEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); calculateApp(powerDurationAndTraffic, app.getBatteryStatsUid(), powerModel, @@ -138,7 +138,7 @@ public class WifiPowerCalculator extends PowerCalculator { } } - final long consumptionUC = batteryStats.getWifiMeasuredBatteryConsumptionUC(); + final long consumptionUC = batteryStats.getWifiEnergyConsumptionUC(); final int powerModel = getPowerModel(consumptionUC, query); calculateRemaining(powerDurationAndTraffic, powerModel, batteryStats, rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED, batteryStats.hasWifiActivityReporting(), @@ -214,7 +214,7 @@ public class WifiPowerCalculator extends PowerCalculator { idleTimeCounter.getCountForProcessState(processState)); } else { powerDurationAndTraffic.powerPerKeyMah[i] = - uCtoMah(u.getWifiMeasuredBatteryConsumptionUC(processState)); + uCtoMah(u.getWifiEnergyConsumptionUC(processState)); } } } @@ -264,7 +264,7 @@ public class WifiPowerCalculator extends PowerCalculator { long totalDurationMs; double totalPowerMah = 0; - if (powerModel == BatteryConsumer.POWER_MODEL_MEASURED_ENERGY) { + if (powerModel == BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) { totalPowerMah = uCtoMah(consumptionUC); } diff --git a/services/tests/servicestests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java index 7e7a43474209..319a280d10cc 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java @@ -32,6 +32,7 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) @SmallTest +@SuppressWarnings("GuardedBy") public class AmbientDisplayPowerCalculatorTest { private static final double PRECISION = 0.00001; private static final long MINUTE_IN_MS = 60 * 1000; @@ -46,19 +47,19 @@ public class AmbientDisplayPowerCalculatorTest { mStatsRule.initMeasuredEnergyStatsLocked(); BatteryStatsImpl stats = mStatsRule.getBatteryStats(); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{300_000_000}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{300_000_000}, new int[]{Display.STATE_ON}, 0); stats.noteScreenStateLocked(0, Display.STATE_DOZE, 30 * MINUTE_IN_MS, 30 * MINUTE_IN_MS, 30 * MINUTE_IN_MS); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{200_000_000}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{200_000_000}, new int[]{Display.STATE_DOZE}, 30 * MINUTE_IN_MS); stats.noteScreenStateLocked(0, Display.STATE_OFF, 120 * MINUTE_IN_MS, 120 * MINUTE_IN_MS, 120 * MINUTE_IN_MS); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{100_000_000}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{100_000_000}, new int[]{Display.STATE_OFF}, 120 * MINUTE_IN_MS); AmbientDisplayPowerCalculator calculator = @@ -73,7 +74,7 @@ public class AmbientDisplayPowerCalculatorTest { assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) .isWithin(PRECISION).of(27.777778); assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -88,13 +89,13 @@ public class AmbientDisplayPowerCalculatorTest { stats.noteScreenStateLocked(0, screenStates[0], 0, 0, 0); stats.noteScreenStateLocked(1, screenStates[1], 0, 0, 0); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{300, 400}, screenStates, 0); + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{300, 400}, screenStates, 0); // Switch display0 to doze screenStates[0] = Display.STATE_DOZE; stats.noteScreenStateLocked(0, screenStates[0], 30 * MINUTE_IN_MS, 30 * MINUTE_IN_MS, 30 * MINUTE_IN_MS); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{200, 300}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{200, 300}, screenStates, 30 * MINUTE_IN_MS); // Switch display1 to doze @@ -102,7 +103,7 @@ public class AmbientDisplayPowerCalculatorTest { stats.noteScreenStateLocked(1, Display.STATE_DOZE, 90 * MINUTE_IN_MS, 90 * MINUTE_IN_MS, 90 * MINUTE_IN_MS); // 100,000,000 uC should be attributed to display 0 doze here. - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{100_000_000, 700_000_000}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{100_000_000, 700_000_000}, screenStates, 90 * MINUTE_IN_MS); // Switch display0 to off @@ -110,14 +111,14 @@ public class AmbientDisplayPowerCalculatorTest { stats.noteScreenStateLocked(0, screenStates[0], 120 * MINUTE_IN_MS, 120 * MINUTE_IN_MS, 120 * MINUTE_IN_MS); // 40,000,000 and 70,000,000 uC should be attributed to display 0 and 1 doze here. - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{40_000_000, 70_000_000}, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{40_000_000, 70_000_000}, screenStates, 120 * MINUTE_IN_MS); // Switch display1 to off screenStates[1] = Display.STATE_OFF; stats.noteScreenStateLocked(1, screenStates[1], 150 * MINUTE_IN_MS, 150 * MINUTE_IN_MS, 150 * MINUTE_IN_MS); - stats.updateDisplayMeasuredEnergyStatsLocked(new long[]{100, 90_000_000}, screenStates, + stats.updateDisplayEnergyConsumerStatsLocked(new long[]{100, 90_000_000}, screenStates, 150 * MINUTE_IN_MS); // 90,000,000 uC should be attributed to display 1 doze here. @@ -134,7 +135,7 @@ public class AmbientDisplayPowerCalculatorTest { assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) .isWithin(PRECISION).of(83.33333); assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryExternalStatsWorkerTest.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryExternalStatsWorkerTest.java index c83610d6dd3f..2ebe21505bd9 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryExternalStatsWorkerTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryExternalStatsWorkerTest.java @@ -55,6 +55,7 @@ import java.util.concurrent.CompletableFuture; * Build/Install/Run: * atest FrameworksServicesTests:BatteryExternalStatsWorkerTest */ +@SuppressWarnings("GuardedBy") public class BatteryExternalStatsWorkerTest { private BatteryExternalStatsWorker mBatteryExternalStatsWorker; private TestBatteryStatsImpl mBatteryStatsImpl; @@ -133,7 +134,7 @@ public class BatteryExternalStatsWorkerTest { mBatteryExternalStatsWorker.systemServicesReady(); final EnergyConsumerResult[] displayResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_DISPLAY).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_DISPLAY).getNow(null); // Results should only have the cpu cluster energy consumers final int[] receivedDisplayIds = new int[displayResults.length]; for (int i = 0; i < displayResults.length; i++) { @@ -143,25 +144,25 @@ public class BatteryExternalStatsWorkerTest { assertArrayEquals(displayIds, receivedDisplayIds); final EnergyConsumerResult[] wifiResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_WIFI).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_WIFI).getNow(null); // Results should only have the wifi energy consumer assertEquals(1, wifiResults.length); assertEquals(wifiId, wifiResults[0].id); final EnergyConsumerResult[] bluetoothResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_BT).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_BT).getNow(null); // Results should only have the bluetooth energy consumer assertEquals(1, bluetoothResults.length); assertEquals(btId, bluetoothResults[0].id); final EnergyConsumerResult[] mobileRadioResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_RADIO).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_RADIO).getNow(null); // Results should only have the mobile radio energy consumer assertEquals(1, mobileRadioResults.length); assertEquals(mobileRadioId, mobileRadioResults[0].id); final EnergyConsumerResult[] cpuResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_CPU).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_CPU).getNow(null); // Results should only have the cpu cluster energy consumers final int[] receivedCpuIds = new int[cpuResults.length]; for (int i = 0; i < cpuResults.length; i++) { @@ -171,7 +172,7 @@ public class BatteryExternalStatsWorkerTest { assertArrayEquals(cpuClusterIds, receivedCpuIds); final EnergyConsumerResult[] allResults = - mBatteryExternalStatsWorker.getMeasuredEnergyLocked(UPDATE_ALL).getNow(null); + mBatteryExternalStatsWorker.getEnergyConsumersLocked(UPDATE_ALL).getNow(null); // All energy consumer results should be available final int[] receivedAllIds = new int[allResults.length]; for (int i = 0; i < allResults.length; i++) { diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java index 22a7e8dba4bb..e65229f188fc 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java @@ -27,8 +27,8 @@ import android.content.Context; import android.os.BatteryManager; import android.os.BatteryStats; import android.os.BatteryStats.CpuUsageDetails; +import android.os.BatteryStats.EnergyConsumerDetails; import android.os.BatteryStats.HistoryItem; -import android.os.BatteryStats.MeasuredEnergyDetails; import android.os.Parcel; import android.util.Log; @@ -272,33 +272,33 @@ public class BatteryStatsHistoryTest { mHistory.setBatteryState(true /* charging */, BatteryManager.BATTERY_STATUS_CHARGING, 80, 1234); - MeasuredEnergyDetails details = new MeasuredEnergyDetails(); - MeasuredEnergyDetails.EnergyConsumer consumer1 = - new MeasuredEnergyDetails.EnergyConsumer(); + EnergyConsumerDetails details = new EnergyConsumerDetails(); + EnergyConsumerDetails.EnergyConsumer consumer1 = + new EnergyConsumerDetails.EnergyConsumer(); consumer1.type = 42; consumer1.ordinal = 0; consumer1.name = "A"; - MeasuredEnergyDetails.EnergyConsumer consumer2 = - new MeasuredEnergyDetails.EnergyConsumer(); + EnergyConsumerDetails.EnergyConsumer consumer2 = + new EnergyConsumerDetails.EnergyConsumer(); consumer2.type = 777; consumer2.ordinal = 0; consumer2.name = "B/0"; - MeasuredEnergyDetails.EnergyConsumer consumer3 = - new MeasuredEnergyDetails.EnergyConsumer(); + EnergyConsumerDetails.EnergyConsumer consumer3 = + new EnergyConsumerDetails.EnergyConsumer(); consumer3.type = 777; consumer3.ordinal = 1; consumer3.name = "B/1"; - MeasuredEnergyDetails.EnergyConsumer consumer4 = - new MeasuredEnergyDetails.EnergyConsumer(); + EnergyConsumerDetails.EnergyConsumer consumer4 = + new EnergyConsumerDetails.EnergyConsumer(); consumer4.type = 314; consumer4.ordinal = 1; consumer4.name = "C"; details.consumers = - new MeasuredEnergyDetails.EnergyConsumer[]{consumer1, consumer2, consumer3, + new EnergyConsumerDetails.EnergyConsumer[]{consumer1, consumer2, consumer3, consumer4}; details.chargeUC = new long[details.consumers.length]; for (int i = 0; i < details.chargeUC.length; i++) { @@ -306,7 +306,7 @@ public class BatteryStatsHistoryTest { } details.chargeUC[3] = BatteryStats.POWER_DATA_UNAVAILABLE; - mHistory.recordMeasuredEnergyDetails(200, 200, details); + mHistory.recordEnergyConsumerDetails(200, 200, details); BatteryStatsHistoryIterator iterator = mHistory.iterate(); BatteryStats.HistoryItem item; diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsNoteTest.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsNoteTest.java index 773a2dcf8d5d..998d22eea926 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsNoteTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsNoteTest.java @@ -57,7 +57,7 @@ import androidx.test.filters.SmallTest; import com.android.internal.os.BatteryStatsHistoryIterator; import com.android.internal.os.PowerProfile; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import com.android.server.power.stats.BatteryStatsImpl.DualTimer; import junit.framework.TestCase; @@ -73,15 +73,6 @@ import java.util.function.IntConsumer; /** * Test various BatteryStatsImpl noteStart methods. - * - * Build/Install/Run: bit FrameworksCoreTests:BatteryStatsNoteTest - * - * Alternatively, - * Build: m FrameworksCoreTests - * Install: adb install -r \ - * ${ANDROID_PRODUCT_OUT}/data/app/FrameworksCoreTests/FrameworksCoreTests.apk - * Run: adb shell am instrument -e class BatteryStatsNoteTest -w \ - * com.android.frameworks.coretests/androidx.test.runner.AndroidJUnitRunner */ @SuppressWarnings("GuardedBy") public class BatteryStatsNoteTest extends TestCase { @@ -1153,7 +1144,7 @@ public class BatteryStatsNoteTest extends TestCase { // Case A: uid1 off, uid2 off, battery off, screen off bi.updateTimeBasesLocked(battery, screen[0], clocks.realtime * 1000, 0); bi.setOnBatteryInternal(battery); - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{500_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{500_000}, screen, clocks.realtime); checkMeasuredCharge("A", uid1, blame1, uid2, blame2, globalDoze, bi); // Case B: uid1 off, uid2 off, battery ON, screen off @@ -1162,24 +1153,24 @@ public class BatteryStatsNoteTest extends TestCase { bi.updateTimeBasesLocked(battery, screen[0], clocks.realtime * 1000, 0); bi.setOnBatteryInternal(battery); clocks.realtime += 19; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{510_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{510_000}, screen, clocks.realtime); checkMeasuredCharge("B", uid1, blame1, uid2, blame2, globalDoze, bi); // Case C: uid1 ON, uid2 off, battery on, screen off clocks.realtime += 18; setFgState(uid1, true, bi); clocks.realtime += 18; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{520_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{520_000}, screen, clocks.realtime); checkMeasuredCharge("C", uid1, blame1, uid2, blame2, globalDoze, bi); // Case D: uid1 on, uid2 off, battery on, screen ON clocks.realtime += 17; screen[0] = Display.STATE_ON; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{521_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{521_000}, screen, clocks.realtime); blame1 += 0; // Screen had been off during the measurement period checkMeasuredCharge("D.1", uid1, blame1, uid2, blame2, globalDoze, bi); clocks.realtime += 101; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{530_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{530_000}, screen, clocks.realtime); blame1 += 530_000; checkMeasuredCharge("D.2", uid1, blame1, uid2, blame2, globalDoze, bi); @@ -1187,7 +1178,7 @@ public class BatteryStatsNoteTest extends TestCase { clocks.realtime += 20; setFgState(uid2, true, bi); clocks.realtime += 40; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{540_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{540_000}, screen, clocks.realtime); // In the past 60ms, sum of fg is 20+40+40=100ms. uid1 is blamed for 60/100; uid2 for 40/100 blame1 += 540_000 * (20 + 40) / (20 + 40 + 40); blame2 += 540_000 * (0 + 40) / (20 + 40 + 40); @@ -1197,7 +1188,7 @@ public class BatteryStatsNoteTest extends TestCase { clocks.realtime += 40; setFgState(uid2, false, bi); clocks.realtime += 120; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{550_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{550_000}, screen, clocks.realtime); // In the past 160ms, sum f fg is 200ms. uid1 is blamed for 40+120 of it; uid2 for 40 of it. blame1 += 550_000 * (40 + 120) / (40 + 40 + 120); blame2 += 550_000 * (40 + 0) / (40 + 40 + 120); @@ -1206,14 +1197,14 @@ public class BatteryStatsNoteTest extends TestCase { // Case G: uid1 on, uid2 off, battery on, screen DOZE clocks.realtime += 5; screen[0] = Display.STATE_DOZE; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{570_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{570_000}, screen, clocks.realtime); blame1 += 570_000; // All of this pre-doze time is blamed on uid1. checkMeasuredCharge("G", uid1, blame1, uid2, blame2, globalDoze, bi); // Case H: uid1 on, uid2 off, battery on, screen ON clocks.realtime += 6; screen[0] = Display.STATE_ON; - bi.updateDisplayMeasuredEnergyStatsLocked(new long[]{580_000}, screen, clocks.realtime); + bi.updateDisplayEnergyConsumerStatsLocked(new long[]{580_000}, screen, clocks.realtime); blame1 += 0; // The screen had been doze during the energy period globalDoze += 580_000; checkMeasuredCharge("H", uid1, blame1, uid2, blame2, globalDoze, bi); @@ -1262,11 +1253,11 @@ public class BatteryStatsNoteTest extends TestCase { newChargesA.put(uid1, 20_000); // Implicit newChargesA.put(uid2, 0); - bi.updateCustomMeasuredEnergyStatsLocked(bucketA, 500_000, newChargesA); + bi.updateCustomEnergyConsumerStatsLocked(bucketA, 500_000, newChargesA); newChargesB.put(uid1, 60_000); // Implicit newChargesB.put(uid2, 0); - bi.updateCustomMeasuredEnergyStatsLocked(bucketB, 700_000, newChargesB); + bi.updateCustomEnergyConsumerStatsLocked(bucketB, 700_000, newChargesB); checkCustomBatteryConsumption( "A", totalBlameA, totalBlameB, uid1, blame1A, blame1B, uid2, blame2A, blame2B, bi); @@ -1277,12 +1268,12 @@ public class BatteryStatsNoteTest extends TestCase { newChargesA.put(uid1, 7_000); blame1A += 7_000; // Implicit newChargesA.put(uid2, 0); blame2A += 0; - bi.updateCustomMeasuredEnergyStatsLocked(bucketA, 310_000, newChargesA); + bi.updateCustomEnergyConsumerStatsLocked(bucketA, 310_000, newChargesA); totalBlameA += 310_000; newChargesB.put(uid1, 63_000); blame1B += 63_000; newChargesB.put(uid2, 15_000); blame2B += 15_000; - bi.updateCustomMeasuredEnergyStatsLocked(bucketB, 790_000, newChargesB); + bi.updateCustomEnergyConsumerStatsLocked(bucketB, 790_000, newChargesB); totalBlameB += 790_000; checkCustomBatteryConsumption( @@ -1292,10 +1283,10 @@ public class BatteryStatsNoteTest extends TestCase { // ----- Case C: battery still on newChargesA.delete(uid1); blame1A += 0; newChargesA.put(uid2, 16_000); blame2A += 16_000; - bi.updateCustomMeasuredEnergyStatsLocked(bucketA, 560_000, newChargesA); + bi.updateCustomEnergyConsumerStatsLocked(bucketA, 560_000, newChargesA); totalBlameA += 560_000; - bi.updateCustomMeasuredEnergyStatsLocked(bucketB, 10_000, null); + bi.updateCustomEnergyConsumerStatsLocked(bucketB, 10_000, null); totalBlameB += 10_000; checkCustomBatteryConsumption( @@ -1303,8 +1294,8 @@ public class BatteryStatsNoteTest extends TestCase { // ----- Case D: battery still on - bi.updateCustomMeasuredEnergyStatsLocked(bucketA, 0, newChargesA); - bi.updateCustomMeasuredEnergyStatsLocked(bucketB, 15_000, new SparseLongArray(1)); + bi.updateCustomEnergyConsumerStatsLocked(bucketA, 0, newChargesA); + bi.updateCustomEnergyConsumerStatsLocked(bucketB, 15_000, new SparseLongArray(1)); totalBlameB += 15_000; checkCustomBatteryConsumption( "D", totalBlameA, totalBlameB, uid1, blame1A, blame1B, uid2, blame2A, blame2B, bi); @@ -2156,19 +2147,19 @@ public class BatteryStatsNoteTest extends TestCase { private void checkMeasuredCharge(String caseName, int uid1, long blame1, int uid2, long blame2, long globalDoze, MockBatteryStatsImpl bi) { - final int bucket = MeasuredEnergyStats.POWER_BUCKET_SCREEN_ON; + final int bucket = EnergyConsumerStats.POWER_BUCKET_SCREEN_ON; assertEquals("Wrong uid1 blame for Case " + caseName, blame1, - bi.getUidStatsLocked(uid1).getMeasuredBatteryConsumptionUC(bucket)); + bi.getUidStatsLocked(uid1).getEnergyConsumptionUC(bucket)); assertEquals("Wrong uid2 blame for Case " + caseName, blame2, - bi.getUidStatsLocked(uid2).getMeasuredBatteryConsumptionUC(bucket)); + bi.getUidStatsLocked(uid2).getEnergyConsumptionUC(bucket)); assertEquals("Wrong total blame for Case " + caseName, blame1 + blame2, - bi.getScreenOnMeasuredBatteryConsumptionUC()); + bi.getScreenOnEnergyConsumptionUC()); assertEquals("Wrong doze for Case " + caseName, globalDoze, - bi.getScreenDozeMeasuredBatteryConsumptionUC()); + bi.getScreenDozeEnergyConsumptionUC()); } private void checkCustomBatteryConsumption(String caseName, @@ -2177,11 +2168,11 @@ public class BatteryStatsNoteTest extends TestCase { int uid2, long blame2A, long blame2B, MockBatteryStatsImpl bi) { - final long[] actualTotal = bi.getCustomConsumerMeasuredBatteryConsumptionUC(); + final long[] actualTotal = bi.getCustomEnergyConsumerBatteryConsumptionUC(); final long[] actualUid1 = - bi.getUidStatsLocked(uid1).getCustomConsumerMeasuredBatteryConsumptionUC(); + bi.getUidStatsLocked(uid1).getCustomEnergyConsumerBatteryConsumptionUC(); final long[] actualUid2 = - bi.getUidStatsLocked(uid2).getCustomConsumerMeasuredBatteryConsumptionUC(); + bi.getUidStatsLocked(uid2).getCustomEnergyConsumerBatteryConsumptionUC(); assertNotNull(actualTotal); assertNotNull(actualUid1); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsTests.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsTests.java index 807df473fa77..48290e5ca1ef 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsTests.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsTests.java @@ -50,14 +50,14 @@ import org.junit.runners.Suite; BstatsCpuTimesValidationTest.class, CameraPowerCalculatorTest.class, CpuPowerCalculatorTest.class, - CustomMeasuredPowerCalculatorTest.class, + CustomEnergyConsumerPowerCalculatorTest.class, FlashlightPowerCalculatorTest.class, GnssPowerCalculatorTest.class, IdlePowerCalculatorTest.class, KernelWakelockReaderTest.class, LongSamplingCounterTest.class, LongSamplingCounterArrayTest.class, - MeasuredEnergySnapshotTest.class, + EnergyConsumerSnapshotTest.class, MobileRadioPowerCalculatorTest.class, ScreenPowerCalculatorTest.class, SensorPowerCalculatorTest.class, diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsRule.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsRule.java index 7c1962c7dfae..bf2faac21082 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsRule.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsRule.java @@ -35,7 +35,7 @@ import android.util.SparseArray; import androidx.test.InstrumentationRegistry; import com.android.internal.os.PowerProfile; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import org.junit.rules.TestRule; import org.junit.runner.Description; @@ -146,11 +146,13 @@ public class BatteryUsageStatsRule implements TestRule { public BatteryUsageStatsRule initMeasuredEnergyStatsLocked( String[] customPowerComponentNames) { final boolean[] supportedStandardBuckets = - new boolean[MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS]; + new boolean[EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS]; Arrays.fill(supportedStandardBuckets, true); - mBatteryStats.initMeasuredEnergyStatsLocked(supportedStandardBuckets, - customPowerComponentNames); - mBatteryStats.informThatAllExternalStatsAreFlushed(); + synchronized (mBatteryStats) { + mBatteryStats.initEnergyConsumerStatsLocked(supportedStandardBuckets, + customPowerComponentNames); + mBatteryStats.informThatAllExternalStatsAreFlushed(); + } return this; } diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsTest.java b/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsTest.java index e603ea57dd38..266a22632a6d 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsTest.java @@ -17,7 +17,7 @@ package com.android.server.power.stats; import static android.os.BatteryConsumer.POWER_COMPONENT_ANY; -import static android.os.BatteryConsumer.POWER_MODEL_MEASURED_ENERGY; +import static android.os.BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION; import static android.os.BatteryConsumer.POWER_MODEL_UNDEFINED; import static android.os.BatteryConsumer.PROCESS_STATE_BACKGROUND; import static android.os.BatteryConsumer.PROCESS_STATE_CACHED; @@ -313,7 +313,7 @@ public class BatteryUsageStatsTest { addUidBatteryConsumer(builder, batteryStats, APP_UID1, null, 4321, 5432, - 123, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 345, POWER_MODEL_MEASURED_ENERGY, + 123, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 345, POWER_MODEL_ENERGY_CONSUMPTION, 456, 567, 678, 1777, 7771, 1888, 8881, 1999, 9991, 321, 654); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java index 76dd0fdee65c..4d4337c16757 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java @@ -193,16 +193,16 @@ public class BluetoothPowerCalculatorTest { assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(Process.BLUETOOTH_UID), - 0.10378, 3583, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + 0.10378, 3583, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(APP_UID), - 0.22950, 8416, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + 0.22950, 8416, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertBluetoothPowerAndDuration( mStatsRule.getDeviceBatteryConsumer(), - 0.33333, 12000, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + 0.33333, 12000, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertBluetoothPowerAndDuration( mStatsRule.getAppsBatteryConsumer(), - 0.33329, 11999, BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + 0.33329, 11999, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -256,7 +256,7 @@ public class BluetoothPowerCalculatorTest { assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) .isWithin(PRECISION).of(0.8220561); assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_BLUETOOTH, diff --git a/services/tests/servicestests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java index 9ad6a7ca2698..ced996f35bdf 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java @@ -42,7 +42,7 @@ import com.android.internal.os.KernelCpuUidTimeReader; import com.android.internal.os.KernelSingleUidTimeReader; import com.android.internal.os.LongArrayMultiStateCounter; import com.android.internal.os.PowerProfile; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import org.junit.Before; import org.junit.Rule; @@ -100,8 +100,8 @@ public class CpuPowerCalculatorTest { MockitoAnnotations.initMocks(this); final boolean[] supportedPowerBuckets = - new boolean[MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS]; - supportedPowerBuckets[MeasuredEnergyStats.POWER_BUCKET_CPU] = true; + new boolean[EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS]; + supportedPowerBuckets[EnergyConsumerStats.POWER_BUCKET_CPU] = true; when(mMockCpuUidFreqTimeReader.isFastCpuTimesReader()).thenReturn(true); @@ -114,7 +114,7 @@ public class CpuPowerCalculatorTest { .setKernelCpuUidActiveTimeReader(mMockKerneCpuUidActiveTimeReader) .setKernelSingleUidTimeReader(mMockKernelSingleUidTimeReader) .setSystemServerCpuThreadReader(mMockSystemServerCpuThreadReader) - .initMeasuredEnergyStatsLocked(supportedPowerBuckets, new String[0]); + .initEnergyConsumerStatsLocked(supportedPowerBuckets, new String[0]); } @Test @@ -257,7 +257,7 @@ public class CpuPowerCalculatorTest { assertThat(uidConsumer1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(3.18877); assertThat(uidConsumer1.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(uidConsumer1.getPackageWithHighestDrain()).isEqualTo("bar"); UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); @@ -266,20 +266,20 @@ public class CpuPowerCalculatorTest { assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(7.44072); assertThat(uidConsumer2.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(uidConsumer2.getPackageWithHighestDrain()).isNull(); final BatteryConsumer deviceBatteryConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(10.62949); assertThat(deviceBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer appsBatteryConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(appsBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(10.62949); assertThat(appsBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test diff --git a/services/tests/servicestests/src/com/android/server/power/stats/CustomMeasuredPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/CustomEnergyConsumerPowerCalculatorTest.java index 552b4f728a95..245faaf15cc8 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/CustomMeasuredPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/CustomEnergyConsumerPowerCalculatorTest.java @@ -32,7 +32,8 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) @SmallTest -public class CustomMeasuredPowerCalculatorTest { +@SuppressWarnings("GuardedBy") +public class CustomEnergyConsumerPowerCalculatorTest { private static final double PRECISION = 0.00001; private static final int APP_UID = Process.FIRST_APPLICATION_UID + 42; @@ -50,13 +51,13 @@ public class CustomMeasuredPowerCalculatorTest { SparseLongArray uidEnergies = new SparseLongArray(); uidEnergies.put(APP_UID, 30_000_000); - batteryStats.updateCustomMeasuredEnergyStatsLocked(0, 100_000_000, uidEnergies); + batteryStats.updateCustomEnergyConsumerStatsLocked(0, 100_000_000, uidEnergies); uidEnergies.put(APP_UID, 120_000_000); - batteryStats.updateCustomMeasuredEnergyStatsLocked(1, 200_000_000, uidEnergies); + batteryStats.updateCustomEnergyConsumerStatsLocked(1, 200_000_000, uidEnergies); - CustomMeasuredPowerCalculator calculator = - new CustomMeasuredPowerCalculator(mStatsRule.getPowerProfile()); + CustomEnergyConsumerPowerCalculator calculator = + new CustomEnergyConsumerPowerCalculator(mStatsRule.getPowerProfile()); mStatsRule.apply(calculator); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/MeasuredEnergySnapshotTest.java b/services/tests/servicestests/src/com/android/server/power/stats/EnergyConsumerSnapshotTest.java index 122f7eb86ac8..558f39629d81 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/MeasuredEnergySnapshotTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/EnergyConsumerSnapshotTest.java @@ -32,18 +32,18 @@ import android.util.SparseLongArray; import androidx.test.filters.SmallTest; -import com.android.server.power.stats.MeasuredEnergySnapshot.MeasuredEnergyDeltaData; +import com.android.server.power.stats.EnergyConsumerSnapshot.EnergyConsumerDeltaData; import org.junit.Test; /** - * Test class for {@link MeasuredEnergySnapshot}. + * Test class for {@link EnergyConsumerSnapshot}. * * To run the tests, use * atest FrameworksServicesTests:com.android.server.power.stats.MeasuredEnergySnapshotTest */ @SmallTest -public final class MeasuredEnergySnapshotTest { +public final class EnergyConsumerSnapshotTest { private static final EnergyConsumer CONSUMER_DISPLAY = createEnergyConsumer( 0, 0, EnergyConsumerType.DISPLAY, "Display"); private static final EnergyConsumer CONSUMER_OTHER_0 = createEnergyConsumer( @@ -107,17 +107,17 @@ public final class MeasuredEnergySnapshotTest { @Test public void testUpdateAndGetDelta_empty() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(ALL_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(ALL_ID_CONSUMER_MAP); assertNull(snapshot.updateAndGetDelta(null, VOLTAGE_0)); assertNull(snapshot.updateAndGetDelta(new EnergyConsumerResult[0], VOLTAGE_0)); } @Test public void testUpdateAndGetDelta() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(ALL_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(ALL_ID_CONSUMER_MAP); // results0 - MeasuredEnergyDeltaData delta = snapshot.updateAndGetDelta(RESULTS_0, VOLTAGE_0); + EnergyConsumerDeltaData delta = snapshot.updateAndGetDelta(RESULTS_0, VOLTAGE_0); if (delta != null) { // null is fine here. If non-null, it better be uninteresting though. assertNull(delta.displayChargeUC); assertNull(delta.otherTotalChargeUC); @@ -204,10 +204,10 @@ public final class MeasuredEnergySnapshotTest { /** Test updateAndGetDelta() when the results have consumers absent from idToConsumerMap. */ @Test public void testUpdateAndGetDelta_some() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(SOME_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(SOME_ID_CONSUMER_MAP); // results0 - MeasuredEnergyDeltaData delta = snapshot.updateAndGetDelta(RESULTS_0, VOLTAGE_0); + EnergyConsumerDeltaData delta = snapshot.updateAndGetDelta(RESULTS_0, VOLTAGE_0); if (delta != null) { // null is fine here. If non-null, it better be uninteresting though. assertNull(delta.displayChargeUC); assertNull(delta.otherTotalChargeUC); @@ -226,23 +226,23 @@ public final class MeasuredEnergySnapshotTest { @Test public void testGetOtherOrdinalNames() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(ALL_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(ALL_ID_CONSUMER_MAP); assertThat(snapshot.getOtherOrdinalNames()).asList() .containsExactly("GPU", "HPU", "IPU &_"); } @Test public void testGetOtherOrdinalNames_none() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(SOME_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(SOME_ID_CONSUMER_MAP); assertEquals(0, snapshot.getOtherOrdinalNames().length); } @Test public void getMeasuredEnergyDetails() { - final MeasuredEnergySnapshot snapshot = new MeasuredEnergySnapshot(ALL_ID_CONSUMER_MAP); + final EnergyConsumerSnapshot snapshot = new EnergyConsumerSnapshot(ALL_ID_CONSUMER_MAP); snapshot.updateAndGetDelta(RESULTS_0, VOLTAGE_0); - MeasuredEnergyDeltaData delta = snapshot.updateAndGetDelta(RESULTS_1, VOLTAGE_1); - BatteryStats.MeasuredEnergyDetails details = snapshot.getMeasuredEnergyDetails(delta); + EnergyConsumerDeltaData delta = snapshot.updateAndGetDelta(RESULTS_1, VOLTAGE_1); + BatteryStats.EnergyConsumerDetails details = snapshot.getEnergyConsumerDetails(delta); assertThat(details.consumers).hasLength(4); assertThat(details.chargeUC).isEqualTo(new long[]{2667, 3200000, 0, 0}); assertThat(details.toString()).isEqualTo("DISPLAY=2667 HPU=3200000 GPU=0 IPU &_=0"); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java index 5bc4311d775c..3f2a6d04c1e6 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java @@ -33,6 +33,7 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) @SmallTest +@SuppressWarnings("GuardedBy") public class GnssPowerCalculatorTest { private static final double PRECISION = 0.00001; @@ -89,7 +90,7 @@ public class GnssPowerCalculatorTest { uidStats2.noteStopGps(5000); BatteryStatsImpl stats = mStatsRule.getBatteryStats(); - stats.updateGnssMeasuredEnergyStatsLocked(30_000_000, 6000); + stats.updateGnssEnergyConsumerStatsLocked(30_000_000, 6000); GnssPowerCalculator calculator = new GnssPowerCalculator(mStatsRule.getPowerProfile()); @@ -102,7 +103,7 @@ public class GnssPowerCalculatorTest { assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(2.77777); assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer consumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(consumer2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_GNSS)) @@ -110,18 +111,18 @@ public class GnssPowerCalculatorTest { assertThat(consumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(5.55555); assertThat(consumer2.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(8.333333); assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(8.333333); assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } } diff --git a/services/tests/servicestests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java index 5bc73bd76d4a..65e648671f60 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java @@ -527,7 +527,7 @@ public class MobileRadioPowerCalculatorTest { stats.noteModemControllerActivity(null, POWER_DATA_UNAVAILABLE, 12000, 12000, mNetworkStatsManager); - assertThat(uid.getMobileRadioMeasuredBatteryConsumptionUC()).isAtMost(0); + assertThat(uid.getMobileRadioEnergyConsumptionUC()).isAtMost(0); // 12000-8000 = 4000 ms == 4_000_000 us assertThat(uid.getMobileRadioActiveTimeInProcessState(BatteryConsumer.PROCESS_STATE_ANY)) .isEqualTo(4_000_000); @@ -622,19 +622,19 @@ public class MobileRadioPowerCalculatorTest { assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(2.77778); assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.53934); assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.53934); assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -687,15 +687,15 @@ public class MobileRadioPowerCalculatorTest { mStatsRule.setTime(20000, 20000); - assertThat(uid.getMobileRadioMeasuredBatteryConsumptionUC()) + assertThat(uid.getMobileRadioEnergyConsumptionUC()) .isIn(Range.open(20_000_000L, 21_000_000L)); - assertThat(uid.getMobileRadioMeasuredBatteryConsumptionUC( + assertThat(uid.getMobileRadioEnergyConsumptionUC( BatteryConsumer.PROCESS_STATE_FOREGROUND)) .isIn(Range.open(13_000_000L, 14_000_000L)); - assertThat(uid.getMobileRadioMeasuredBatteryConsumptionUC( + assertThat(uid.getMobileRadioEnergyConsumptionUC( BatteryConsumer.PROCESS_STATE_BACKGROUND)) .isIn(Range.open(7_000_000L, 8_000_000L)); - assertThat(uid.getMobileRadioMeasuredBatteryConsumptionUC( + assertThat(uid.getMobileRadioEnergyConsumptionUC( BatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE)) .isEqualTo(0); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/MockBatteryStatsImpl.java b/services/tests/servicestests/src/com/android/server/power/stats/MockBatteryStatsImpl.java index df4b8962630f..19d2639311a3 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/MockBatteryStatsImpl.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/MockBatteryStatsImpl.java @@ -35,7 +35,7 @@ import com.android.internal.os.KernelCpuUidTimeReader.KernelCpuUidFreqTimeReader import com.android.internal.os.KernelCpuUidTimeReader.KernelCpuUidUserSysTimeReader; import com.android.internal.os.KernelSingleUidTimeReader; import com.android.internal.os.PowerProfile; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import java.io.File; import java.util.ArrayList; @@ -78,11 +78,13 @@ public class MockBatteryStatsImpl extends BatteryStatsImpl { public void initMeasuredEnergyStats(String[] customBucketNames) { final boolean[] supportedStandardBuckets = - new boolean[MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS]; + new boolean[EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS]; Arrays.fill(supportedStandardBuckets, true); - mMeasuredEnergyStatsConfig = new MeasuredEnergyStats.Config(supportedStandardBuckets, - customBucketNames, new int[0], new String[]{""}); - mGlobalMeasuredEnergyStats = new MeasuredEnergyStats(mMeasuredEnergyStatsConfig); + synchronized (this) { + mEnergyConsumerStatsConfig = new EnergyConsumerStats.Config(supportedStandardBuckets, + customBucketNames, new int[0], new String[]{""}); + mGlobalEnergyConsumerStats = new EnergyConsumerStats(mEnergyConsumerStatsConfig); + } } public TimeBase getOnBatteryTimeBase() { diff --git a/services/tests/servicestests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java index 36faae4e77fc..372307985f04 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java @@ -36,6 +36,7 @@ import org.junit.runner.RunWith; @RunWith(AndroidJUnit4.class) @SmallTest +@SuppressWarnings("GuardedBy") public class ScreenPowerCalculatorTest { private static final double PRECISION = 0.00001; private static final int APP_UID1 = Process.FIRST_APPLICATION_UID + 42; @@ -56,12 +57,12 @@ public class ScreenPowerCalculatorTest { BatteryStatsImpl batteryStats = mStatsRule.getBatteryStats(); batteryStats.noteScreenStateLocked(0, Display.STATE_ON, 0, 0, 0); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{0}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{0}, new int[]{Display.STATE_ON}, 0); setProcState(APP_UID1, ActivityManager.PROCESS_STATE_TOP, true, 0, 0); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{200_000_000}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{200_000_000}, new int[]{Display.STATE_ON}, 15 * MINUTE_IN_MS); setProcState(APP_UID1, ActivityManager.PROCESS_STATE_CACHED_EMPTY, false, @@ -70,7 +71,7 @@ public class ScreenPowerCalculatorTest { setProcState(APP_UID2, ActivityManager.PROCESS_STATE_TOP, true, 20 * MINUTE_IN_MS, 20 * MINUTE_IN_MS); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{300_000_000}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{300_000_000}, new int[]{Display.STATE_ON}, 60 * MINUTE_IN_MS); batteryStats.noteScreenStateLocked(0, Display.STATE_OFF, @@ -78,7 +79,7 @@ public class ScreenPowerCalculatorTest { setProcState(APP_UID2, ActivityManager.PROCESS_STATE_TOP_SLEEPING, false, 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{100_000_000}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{100_000_000}, new int[]{Display.STATE_DOZE}, 120 * MINUTE_IN_MS); mStatsRule.setTime(120 * MINUTE_IN_US, 120 * MINUTE_IN_US); @@ -98,7 +99,7 @@ public class ScreenPowerCalculatorTest { assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(64.81481); assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -110,7 +111,7 @@ public class ScreenPowerCalculatorTest { assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(101.85185); assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -120,7 +121,7 @@ public class ScreenPowerCalculatorTest { assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(166.66666); assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -129,7 +130,7 @@ public class ScreenPowerCalculatorTest { assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(166.66666); assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @@ -148,7 +149,7 @@ public class ScreenPowerCalculatorTest { batteryStats.noteScreenStateLocked(1, screenStates[1], 0, 0, 0); batteryStats.noteScreenBrightnessLocked(0, 255, 0, 0); setProcState(APP_UID1, ActivityManager.PROCESS_STATE_TOP, true, 0, 0); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{300, 400}, screenStates, 0); + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{300, 400}, screenStates, 0); batteryStats.noteScreenBrightnessLocked(0, 100, 5 * MINUTE_IN_MS, 5 * MINUTE_IN_MS); batteryStats.noteScreenBrightnessLocked(0, 200, 10 * MINUTE_IN_MS, 10 * MINUTE_IN_MS); @@ -164,7 +165,7 @@ public class ScreenPowerCalculatorTest { 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS); batteryStats.noteScreenStateLocked(1, screenStates[1], 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{600_000_000, 500}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{600_000_000, 500}, screenStates, 80 * MINUTE_IN_MS); batteryStats.noteScreenBrightnessLocked(1, 25, 80 * MINUTE_IN_MS, 80 * MINUTE_IN_MS); @@ -174,7 +175,7 @@ public class ScreenPowerCalculatorTest { screenStates[1] = Display.STATE_OFF; batteryStats.noteScreenStateLocked(1, screenStates[1], 110 * MINUTE_IN_MS, 110 * MINUTE_IN_MS, 110 * MINUTE_IN_MS); - batteryStats.updateDisplayMeasuredEnergyStatsLocked(new long[]{700, 800_000_000}, + batteryStats.updateDisplayEnergyConsumerStatsLocked(new long[]{700, 800_000_000}, screenStates, 110 * MINUTE_IN_MS); setProcState(APP_UID2, ActivityManager.PROCESS_STATE_TOP_SLEEPING, false, @@ -194,7 +195,7 @@ public class ScreenPowerCalculatorTest { assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(388.88888); assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid1 = mStatsRule.getUidBatteryConsumer(APP_UID1); assertThat(uid1.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -206,7 +207,7 @@ public class ScreenPowerCalculatorTest { assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(41.66666); assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -218,7 +219,7 @@ public class ScreenPowerCalculatorTest { assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(347.22222); assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -226,7 +227,7 @@ public class ScreenPowerCalculatorTest { assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(388.88888); assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } diff --git a/services/tests/servicestests/src/com/android/server/power/stats/SystemServicePowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/SystemServicePowerCalculatorTest.java index 037ac78cf42e..3c5c0a39745b 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/SystemServicePowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/SystemServicePowerCalculatorTest.java @@ -37,7 +37,7 @@ import com.android.internal.os.KernelCpuSpeedReader; import com.android.internal.os.KernelCpuUidTimeReader; import com.android.internal.os.KernelSingleUidTimeReader; import com.android.internal.os.PowerProfile; -import com.android.internal.power.MeasuredEnergyStats; +import com.android.internal.power.EnergyConsumerStats; import org.junit.Before; import org.junit.Rule; @@ -137,10 +137,10 @@ public class SystemServicePowerCalculatorTest { @Test public void testMeasuredEnergyBasedModel() { final boolean[] supportedPowerBuckets = - new boolean[MeasuredEnergyStats.NUMBER_STANDARD_POWER_BUCKETS]; - supportedPowerBuckets[MeasuredEnergyStats.POWER_BUCKET_CPU] = true; + new boolean[EnergyConsumerStats.NUMBER_STANDARD_POWER_BUCKETS]; + supportedPowerBuckets[EnergyConsumerStats.POWER_BUCKET_CPU] = true; mStatsRule.getBatteryStats() - .initMeasuredEnergyStatsLocked(supportedPowerBuckets, new String[0]); + .initEnergyConsumerStatsLocked(supportedPowerBuckets, new String[0]); prepareBatteryStats(new long[]{50000000, 100000000}); diff --git a/services/tests/servicestests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java b/services/tests/servicestests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java index b6f303666e17..113be8b19518 100644 --- a/services/tests/servicestests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java +++ b/services/tests/servicestests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java @@ -204,7 +204,7 @@ public class WifiPowerCalculatorTest { assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.2214666 / (0.2214666 + 0.645200) * 1_000_000 / 3600000); assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_WIFI)) @@ -212,13 +212,13 @@ public class WifiPowerCalculatorTest { assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.27777); assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.277777); assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -258,7 +258,7 @@ public class WifiPowerCalculatorTest { assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(1.0325211); assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_WIFI, @@ -327,6 +327,6 @@ public class WifiPowerCalculatorTest { assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.8231573 / (0.8231573 + 0.8759216) * 1_000_000 / 3600000); assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_MEASURED_ENERGY); + .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } } |