summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Dmitri Plotnikov <dplotnikov@google.com> 2022-12-20 18:32:11 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-12-20 18:32:11 +0000
commit4b07f0a71ff720b116ab0213884477200976a5cc (patch)
tree5dc335527776fdaf8eb0cfaa81e356f2d9c14856
parent20a4eeea734d3b3d904f572e08a25865bd56b015 (diff)
parent472367a9ba2102aa15bec2978e6a800d0df7877e (diff)
Merge "Rename MeasuredEnergy to EnergyConsumer"
-rw-r--r--core/java/android/os/BatteryConsumer.java12
-rw-r--r--core/java/android/os/BatteryStats.java78
-rw-r--r--core/java/com/android/internal/os/BatteryStatsHistory.java26
-rw-r--r--core/java/com/android/internal/os/BatteryStatsHistoryIterator.java28
-rw-r--r--core/java/com/android/internal/power/EnergyConsumerStats.java (renamed from core/java/com/android/internal/power/MeasuredEnergyStats.java)34
-rw-r--r--core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_amp_24.xml10
-rw-r--r--core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_energy_24.xml (renamed from core/tests/batterystatstests/BatteryStatsViewer/res/drawable/gm_custom_24.xml)10
-rw-r--r--core/tests/batterystatstests/BatteryStatsViewer/res/values/colors.xml2
-rw-r--r--core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryConsumerData.java38
-rw-r--r--core/tests/batterystatstests/BatteryStatsViewer/src/com/android/frameworks/core/batterystatsviewer/BatteryStatsViewerActivity.java30
-rw-r--r--core/tests/batterystatstests/BatteryUsageStatsProtoTests/src/com/android/internal/os/BatteryUsageStatsPulledTest.java8
-rw-r--r--core/tests/coretests/src/com/android/internal/os/BatteryStatsTests.java4
-rw-r--r--core/tests/coretests/src/com/android/internal/power/EnergyConsumerStatsTest.java (renamed from core/tests/coretests/src/com/android/internal/power/MeasuredEnergyStatsTest.java)171
-rw-r--r--services/core/java/com/android/server/am/BatteryStatsService.java4
-rw-r--r--services/core/java/com/android/server/power/stats/AmbientDisplayPowerCalculator.java8
-rw-r--r--services/core/java/com/android/server/power/stats/BatteryExternalStatsWorker.java107
-rw-r--r--services/core/java/com/android/server/power/stats/BatteryStatsImpl.java405
-rw-r--r--services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java2
-rw-r--r--services/core/java/com/android/server/power/stats/BluetoothPowerCalculator.java22
-rw-r--r--services/core/java/com/android/server/power/stats/CpuPowerCalculator.java18
-rw-r--r--services/core/java/com/android/server/power/stats/CustomEnergyConsumerPowerCalculator.java (renamed from services/core/java/com/android/server/power/stats/CustomMeasuredPowerCalculator.java)49
-rw-r--r--services/core/java/com/android/server/power/stats/EnergyConsumerSnapshot.java (renamed from services/core/java/com/android/server/power/stats/MeasuredEnergySnapshot.java)80
-rw-r--r--services/core/java/com/android/server/power/stats/GnssPowerCalculator.java12
-rw-r--r--services/core/java/com/android/server/power/stats/MobileRadioPowerCalculator.java20
-rw-r--r--services/core/java/com/android/server/power/stats/PowerCalculator.java12
-rw-r--r--services/core/java/com/android/server/power/stats/ScreenPowerCalculator.java14
-rw-r--r--services/core/java/com/android/server/power/stats/SystemServicePowerCalculator.java10
-rw-r--r--services/core/java/com/android/server/power/stats/WifiPowerCalculator.java8
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java21
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryExternalStatsWorkerTest.java13
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsHistoryTest.java24
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsNoteTest.java61
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryStatsTests.java4
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsRule.java12
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BatteryUsageStatsTest.java4
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java10
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java16
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/CustomEnergyConsumerPowerCalculatorTest.java (renamed from services/tests/servicestests/src/com/android/server/power/stats/CustomMeasuredPowerCalculatorTest.java)11
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/EnergyConsumerSnapshotTest.java (renamed from services/tests/servicestests/src/com/android/server/power/stats/MeasuredEnergySnapshotTest.java)26
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java11
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java16
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/MockBatteryStatsImpl.java12
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java31
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/SystemServicePowerCalculatorTest.java8
-rw-r--r--services/tests/servicestests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java10
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);
}
}