diff options
author | 2024-11-05 18:46:34 -0800 | |
---|---|---|
committer | 2024-11-22 03:18:29 +0000 | |
commit | d292f83b58f48a4250bbc98beecc05d9c399ce4c (patch) | |
tree | 55c369c26d18e6304e3e1c6c245216366f544441 | |
parent | 320b9e02731e8abeb7e7034eb91239c48039535c (diff) |
Remove support for PowerModel
This significantly reduces the native memory allocation
for BatteryUsageStats
Bug: 377583773
Test: atest PowerStatsTests; atest PowerStatsTestsRavenwood
Flag: EXEMPT bugfix
Change-Id: If136858f5b8db47b748f137840d63163083737bc
22 files changed, 119 insertions, 508 deletions
diff --git a/core/java/android/os/AggregateBatteryConsumer.java b/core/java/android/os/AggregateBatteryConsumer.java index f0e12ca644dd..f5fee4f2d9be 100644 --- a/core/java/android/os/AggregateBatteryConsumer.java +++ b/core/java/android/os/AggregateBatteryConsumer.java @@ -17,7 +17,6 @@ package android.os; import android.annotation.NonNull; -import android.util.proto.ProtoOutputStream; import com.android.modules.utils.TypedXmlPullParser; import com.android.modules.utils.TypedXmlSerializer; @@ -100,19 +99,6 @@ public final class AggregateBatteryConsumer extends BatteryConsumer { } } - void writePowerComponentModelProto(@NonNull ProtoOutputStream proto) { - for (int i = 0; i < POWER_COMPONENT_COUNT; i++) { - final int powerModel = getPowerModel(i); - if (powerModel == BatteryConsumer.POWER_MODEL_UNDEFINED) continue; - - final long token = proto.start(BatteryUsageStatsAtomsProto.COMPONENT_MODELS); - proto.write(BatteryUsageStatsAtomsProto.PowerComponentModel.COMPONENT, i); - proto.write(BatteryUsageStatsAtomsProto.PowerComponentModel.POWER_MODEL, - powerModelToProtoEnum(powerModel)); - proto.end(token); - } - } - /** * Builder for DeviceBatteryConsumer. */ diff --git a/core/java/android/os/BatteryConsumer.java b/core/java/android/os/BatteryConsumer.java index 14b67f64b6da..96ea1683b5cf 100644 --- a/core/java/android/os/BatteryConsumer.java +++ b/core/java/android/os/BatteryConsumer.java @@ -161,18 +161,27 @@ public abstract class BatteryConsumer { /** * Unspecified power model. + * + * @deprecated PowerModel is no longer supported */ + @Deprecated public static final int POWER_MODEL_UNDEFINED = 0; /** * Power model that is based on average consumption rates that hardware components * consume in various states. + * + * @deprecated PowerModel is no longer supported */ + @Deprecated public static final int POWER_MODEL_POWER_PROFILE = 1; /** * Power model that is based on energy consumption stats provided by PowerStats HAL. + * + * @deprecated PowerModel is no longer supported */ + @Deprecated public static final int POWER_MODEL_ENERGY_CONSUMPTION = 2; /** @@ -380,19 +389,17 @@ public abstract class BatteryConsumer { public final @ScreenState int screenState; public final @PowerState int powerState; - final int mPowerModelColumnIndex; final int mPowerColumnIndex; final int mDurationColumnIndex; private Key(@PowerComponentId int powerComponentId, @ProcessState int processState, - @ScreenState int screenState, @PowerState int powerState, int powerModelColumnIndex, + @ScreenState int screenState, @PowerState int powerState, int powerColumnIndex, int durationColumnIndex) { this.powerComponentId = powerComponentId; this.processState = processState; this.screenState = screenState; this.powerState = powerState; - mPowerModelColumnIndex = powerModelColumnIndex; mPowerColumnIndex = powerColumnIndex; mDurationColumnIndex = durationColumnIndex; } @@ -577,11 +584,11 @@ public abstract class BatteryConsumer { * * @param componentId The ID of the power component, e.g. * {@link BatteryConsumer#POWER_COMPONENT_CPU}. + * @deprecated PowerModel is no longer supported */ + @Deprecated public @PowerModel int getPowerModel(@PowerComponentId int componentId) { - return mPowerComponents.getPowerModel( - mData.layout.getKeyOrThrow(componentId, PROCESS_STATE_UNSPECIFIED, - SCREEN_STATE_UNSPECIFIED, POWER_STATE_UNSPECIFIED)); + return POWER_MODEL_UNDEFINED; } /** @@ -589,9 +596,11 @@ public abstract class BatteryConsumer { * * @param key The key of the power component, obtained by calling {@link #getKey} or * {@link #getKeys} method. + * @deprecated PowerModel is no longer supported */ + @Deprecated public @PowerModel int getPowerModel(@NonNull BatteryConsumer.Key key) { - return mPowerComponents.getPowerModel(key); + return POWER_MODEL_UNDEFINED; } /** @@ -657,20 +666,6 @@ public abstract class BatteryConsumer { } /** - * Returns the name of the specified power model. Intended for logging and debugging. - */ - public static String powerModelToString(@BatteryConsumer.PowerModel int powerModel) { - switch (powerModel) { - case BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION: - return "energy consumption"; - case BatteryConsumer.POWER_MODEL_POWER_PROFILE: - return "power profile"; - default: - return ""; - } - } - - /** * Returns the equivalent PowerModel enum for the specified power model. * {@see BatteryUsageStatsAtomsProto.BatteryConsumerData.PowerComponentUsage.PowerModel} */ @@ -857,10 +852,8 @@ public abstract class BatteryConsumer { static class BatteryConsumerDataLayout { private static final Key[] KEY_ARRAY = new Key[0]; - public static final int POWER_MODEL_NOT_INCLUDED = -1; public final String[] customPowerComponentNames; public final int customPowerComponentCount; - public final boolean powerModelsIncluded; public final boolean processStateDataIncluded; public final boolean screenStateDataIncluded; public final boolean powerStateDataIncluded; @@ -872,11 +865,10 @@ public abstract class BatteryConsumer { private SparseArray<Key[]> mPerComponentKeys; private BatteryConsumerDataLayout(int firstColumn, String[] customPowerComponentNames, - boolean powerModelsIncluded, boolean includeProcessStateData, - boolean includeScreenState, boolean includePowerState) { + boolean includeProcessStateData, boolean includeScreenState, + boolean includePowerState) { this.customPowerComponentNames = customPowerComponentNames; this.customPowerComponentCount = customPowerComponentNames.length; - this.powerModelsIncluded = powerModelsIncluded; this.processStateDataIncluded = includeProcessStateData; this.screenStateDataIncluded = includeScreenState; this.powerStateDataIncluded = includePowerState; @@ -904,7 +896,7 @@ public abstract class BatteryConsumer { continue; } for (int i = 0; i < powerComponentIds.length; i++) { - columnIndex = addKeys(keyList, powerModelsIncluded, includeProcessStateData, + columnIndex = addKeys(keyList, includeProcessStateData, powerComponentIds[i], screenState, powerState, columnIndex); } } @@ -934,13 +926,10 @@ public abstract class BatteryConsumer { } } - private int addKeys(List<Key> keys, boolean powerModelsIncluded, - boolean includeProcessStateData, @PowerComponentId int componentId, - int screenState, int powerState, int columnIndex) { + private int addKeys(List<Key> keys, boolean includeProcessStateData, + @PowerComponentId int componentId, int screenState, int powerState, + int columnIndex) { keys.add(new Key(componentId, PROCESS_STATE_UNSPECIFIED, screenState, powerState, - powerModelsIncluded - ? columnIndex++ - : POWER_MODEL_NOT_INCLUDED, // power model columnIndex++, // power columnIndex++ // usage duration )); @@ -956,9 +945,6 @@ public abstract class BatteryConsumer { continue; } keys.add(new Key(componentId, processState, screenState, powerState, - powerModelsIncluded - ? columnIndex++ - : POWER_MODEL_NOT_INCLUDED, // power model columnIndex++, // power columnIndex++ // usage duration )); @@ -1016,7 +1002,7 @@ public abstract class BatteryConsumer { } static BatteryConsumerDataLayout createBatteryConsumerDataLayout( - String[] customPowerComponentNames, boolean includePowerModels, + String[] customPowerComponentNames, boolean includeProcessStateData, boolean includeScreenStateData, boolean includePowerStateData) { int columnCount = BatteryConsumer.COLUMN_COUNT; @@ -1025,8 +1011,7 @@ public abstract class BatteryConsumer { columnCount = Math.max(columnCount, UserBatteryConsumer.COLUMN_COUNT); return new BatteryConsumerDataLayout(columnCount, customPowerComponentNames, - includePowerModels, includeProcessStateData, includeScreenStateData, - includePowerStateData); + includeProcessStateData, includeScreenStateData, includePowerStateData); } protected abstract static class BaseBuilder<T extends BaseBuilder<?>> { @@ -1086,7 +1071,7 @@ public abstract class BatteryConsumer { public T setConsumedPower(@PowerComponentId int componentId, double componentPower, @PowerModel int powerModel) { mPowerComponentsBuilder.setConsumedPower(getKey(componentId, PROCESS_STATE_UNSPECIFIED), - componentPower, powerModel); + componentPower); return (T) this; } @@ -1095,14 +1080,14 @@ public abstract class BatteryConsumer { public T addConsumedPower(@PowerComponentId int componentId, double componentPower, @PowerModel int powerModel) { mPowerComponentsBuilder.addConsumedPower(getKey(componentId, PROCESS_STATE_UNSPECIFIED), - componentPower, powerModel); + componentPower); return (T) this; } @SuppressWarnings("unchecked") @NonNull public T setConsumedPower(Key key, double componentPower, @PowerModel int powerModel) { - mPowerComponentsBuilder.setConsumedPower(key, componentPower, powerModel); + mPowerComponentsBuilder.setConsumedPower(key, componentPower); return (T) this; } @@ -1110,21 +1095,14 @@ public abstract class BatteryConsumer { @NonNull public T addConsumedPower(@PowerComponentId int componentId, double componentPower) { mPowerComponentsBuilder.addConsumedPower(getKey(componentId, PROCESS_STATE_UNSPECIFIED), - componentPower, POWER_MODEL_UNDEFINED); + componentPower); return (T) this; } @SuppressWarnings("unchecked") @NonNull public T addConsumedPower(Key key, double componentPower) { - mPowerComponentsBuilder.addConsumedPower(key, componentPower, POWER_MODEL_UNDEFINED); - return (T) this; - } - - @SuppressWarnings("unchecked") - @NonNull - public T addConsumedPower(Key key, double componentPower, @PowerModel int powerModel) { - mPowerComponentsBuilder.addConsumedPower(key, componentPower, powerModel); + mPowerComponentsBuilder.addConsumedPower(key, componentPower); return (T) this; } diff --git a/core/java/android/os/BatteryUsageStats.java b/core/java/android/os/BatteryUsageStats.java index 72e4cef2f6eb..f913fcfd56d4 100644 --- a/core/java/android/os/BatteryUsageStats.java +++ b/core/java/android/os/BatteryUsageStats.java @@ -114,7 +114,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { static final String XML_ATTR_POWER_STATE = "power_state"; static final String XML_ATTR_POWER = "power"; static final String XML_ATTR_DURATION = "duration"; - static final String XML_ATTR_MODEL = "model"; static final String XML_ATTR_BATTERY_CAPACITY = "battery_capacity"; static final String XML_ATTR_DISCHARGE_PERCENT = "discharge_pct"; static final String XML_ATTR_DISCHARGE_LOWER = "discharge_lower"; @@ -155,7 +154,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { private final long mBatteryTimeRemainingMs; private final long mChargeTimeRemainingMs; private final String[] mCustomPowerComponentNames; - private final boolean mIncludesPowerModels; private final boolean mIncludesProcessStateData; private final boolean mIncludesScreenStateData; private final boolean mIncludesPowerStateData; @@ -179,7 +177,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { mBatteryTimeRemainingMs = builder.mBatteryTimeRemainingMs; mChargeTimeRemainingMs = builder.mChargeTimeRemainingMs; mCustomPowerComponentNames = builder.mCustomPowerComponentNames; - mIncludesPowerModels = builder.mIncludePowerModels; mIncludesProcessStateData = builder.mIncludesProcessStateData; mIncludesScreenStateData = builder.mIncludesScreenStateData; mIncludesPowerStateData = builder.mIncludesPowerStateData; @@ -364,14 +361,13 @@ public final class BatteryUsageStats implements Parcelable, Closeable { mBatteryTimeRemainingMs = source.readLong(); mChargeTimeRemainingMs = source.readLong(); mCustomPowerComponentNames = source.readStringArray(); - mIncludesPowerModels = source.readBoolean(); mIncludesProcessStateData = source.readBoolean(); mIncludesScreenStateData = source.readBoolean(); mIncludesPowerStateData = source.readBoolean(); mBatteryConsumersCursorWindow = CursorWindow.newFromParcel(source); mBatteryConsumerDataLayout = BatteryConsumer.createBatteryConsumerDataLayout( - mCustomPowerComponentNames, mIncludesPowerModels, mIncludesProcessStateData, + mCustomPowerComponentNames, mIncludesProcessStateData, mIncludesScreenStateData, mIncludesPowerStateData); final int numRows = mBatteryConsumersCursorWindow.getNumRows(); @@ -424,7 +420,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { dest.writeLong(mBatteryTimeRemainingMs); dest.writeLong(mChargeTimeRemainingMs); dest.writeStringArray(mCustomPowerComponentNames); - dest.writeBoolean(mIncludesPowerModels); dest.writeBoolean(mIncludesProcessStateData); dest.writeBoolean(mIncludesScreenStateData); dest.writeBoolean(mIncludesPowerStateData); @@ -506,9 +501,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { getDischargeDurationMs()); deviceBatteryConsumer.writeStatsProto(proto, BatteryUsageStatsAtomsProto.DEVICE_BATTERY_CONSUMER); - if (mIncludesPowerModels) { - deviceBatteryConsumer.writePowerComponentModelProto(proto); - } writeUidBatteryConsumersProto(proto, maxRawSize); } @@ -629,7 +621,7 @@ public final class BatteryUsageStats implements Parcelable, Closeable { printPowerComponent(pw, prefix, mBatteryConsumerDataLayout.getPowerComponentName(powerComponent), - devicePowerMah, appsPowerMah, BatteryConsumer.POWER_MODEL_UNDEFINED, + devicePowerMah, appsPowerMah, deviceConsumer.getUsageDurationMillis(powerComponent)); } @@ -716,23 +708,15 @@ public final class BatteryUsageStats implements Parcelable, Closeable { printPowerComponent(pw, prefix, mBatteryConsumerDataLayout.getPowerComponentName(powerComponent), devicePowerMah, appsPowerMah, - mIncludesPowerModels ? deviceConsumer.getPowerModel(powerComponent) - : BatteryConsumer.POWER_MODEL_UNDEFINED, deviceConsumer.getUsageDurationMillis(dimensions)); } } private void printPowerComponent(PrintWriter pw, String prefix, String label, - double devicePowerMah, double appsPowerMah, int powerModel, long durationMs) { + double devicePowerMah, double appsPowerMah, long durationMs) { StringBuilder sb = new StringBuilder(); sb.append(prefix).append(" ").append(label).append(": ") .append(BatteryStats.formatCharge(devicePowerMah)); - if (powerModel != BatteryConsumer.POWER_MODEL_UNDEFINED - && powerModel != BatteryConsumer.POWER_MODEL_POWER_PROFILE) { - sb.append(" ["); - sb.append(BatteryConsumer.powerModelToString(powerModel)); - sb.append("]"); - } sb.append(" apps: ").append(BatteryStats.formatCharge(appsPowerMah)); if (durationMs != 0) { sb.append(" duration: "); @@ -828,7 +812,7 @@ public final class BatteryUsageStats implements Parcelable, Closeable { final boolean includesPowerStateData = parser.getAttributeBoolean(null, XML_ATTR_PREFIX_INCLUDES_POWER_STATE_DATA, false); - builder = new Builder(customComponentNames.toArray(new String[0]), true, + builder = new Builder(customComponentNames.toArray(new String[0]), includesProcStateData, includesScreenStateData, includesPowerStateData, 0); builder.setStatsStartTimestamp( @@ -913,7 +897,6 @@ public final class BatteryUsageStats implements Parcelable, Closeable { private final CursorWindow mBatteryConsumersCursorWindow; @NonNull private final String[] mCustomPowerComponentNames; - private final boolean mIncludePowerModels; private final boolean mIncludesProcessStateData; private final boolean mIncludesScreenStateData; private final boolean mIncludesPowerStateData; @@ -938,22 +921,21 @@ public final class BatteryUsageStats implements Parcelable, Closeable { private BatteryStatsHistory mBatteryStatsHistory; public Builder(@NonNull String[] customPowerComponentNames) { - this(customPowerComponentNames, false, false, false, false, 0); + this(customPowerComponentNames, false, false, false, 0); } - public Builder(@NonNull String[] customPowerComponentNames, boolean includePowerModels, + public Builder(@NonNull String[] customPowerComponentNames, boolean includeProcessStateData, boolean includeScreenStateData, boolean includesPowerStateData, double minConsumedPowerThreshold) { mBatteryConsumersCursorWindow = new CursorWindow(null, BATTERY_CONSUMER_CURSOR_WINDOW_SIZE); onCursorWindowAllocated(mBatteryConsumersCursorWindow); mBatteryConsumerDataLayout = BatteryConsumer.createBatteryConsumerDataLayout( - customPowerComponentNames, includePowerModels, includeProcessStateData, + customPowerComponentNames, includeProcessStateData, includeScreenStateData, includesPowerStateData); mBatteryConsumersCursorWindow.setNumColumns(mBatteryConsumerDataLayout.columnCount); mCustomPowerComponentNames = customPowerComponentNames; - mIncludePowerModels = includePowerModels; mIncludesProcessStateData = includeProcessStateData; mIncludesScreenStateData = includeScreenStateData; mIncludesPowerStateData = includesPowerStateData; diff --git a/core/java/android/os/BatteryUsageStatsQuery.java b/core/java/android/os/BatteryUsageStatsQuery.java index 6325b003a999..6d426128bd02 100644 --- a/core/java/android/os/BatteryUsageStatsQuery.java +++ b/core/java/android/os/BatteryUsageStatsQuery.java @@ -65,12 +65,6 @@ public final class BatteryUsageStatsQuery implements Parcelable { */ public static final int FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY = 0x0002; - /** - * Indicates that identifiers of power models used for computations of power - * consumption should be included in the BatteryUsageStats. - */ - public static final int FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_MODELS = 0x0004; - public static final int FLAG_BATTERY_USAGE_STATS_INCLUDE_PROCESS_STATE_DATA = 0x0008; public static final int FLAG_BATTERY_USAGE_STATS_INCLUDE_VIRTUAL_UIDS = 0x0010; @@ -311,7 +305,10 @@ public final class BatteryUsageStatsQuery implements Parcelable { * power monitoring data is available. * * Should only be used for testing and debugging. + * + * @deprecated PowerModel is no longer supported */ + @Deprecated public Builder powerProfileModeledOnly() { mFlags |= BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_POWER_PROFILE_MODEL; return this; @@ -322,9 +319,10 @@ public final class BatteryUsageStatsQuery implements Parcelable { * of power consumption. * * Should only be used for testing and debugging. + * @deprecated PowerModel is no longer supported */ + @Deprecated public Builder includePowerModels() { - mFlags |= BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_MODELS; return this; } diff --git a/core/java/android/os/PowerComponents.java b/core/java/android/os/PowerComponents.java index d116e0737c46..4db1f1b32407 100644 --- a/core/java/android/os/PowerComponents.java +++ b/core/java/android/os/PowerComponents.java @@ -15,7 +15,6 @@ */ package android.os; -import static android.os.BatteryConsumer.BatteryConsumerDataLayout.POWER_MODEL_NOT_INCLUDED; import static android.os.BatteryConsumer.POWER_COMPONENT_ANY; import static android.os.BatteryConsumer.POWER_COMPONENT_BASE; import static android.os.BatteryConsumer.POWER_STATE_ANY; @@ -156,15 +155,6 @@ class PowerComponents { return mData.layout.getPowerComponentName(componentId); } - @BatteryConsumer.PowerModel - int getPowerModel(BatteryConsumer.Key key) { - if (key.mPowerModelColumnIndex == POWER_MODEL_NOT_INCLUDED) { - throw new IllegalStateException( - "Power model IDs were not requested in the BatteryUsageStatsQuery"); - } - return mData.getInt(key.mPowerModelColumnIndex); - } - /** * Returns the amount of time used by the specified component, e.g. CPU, WiFi etc. * @@ -378,10 +368,6 @@ class PowerComponents { if (durationMs != 0) { serializer.attributeLong(null, BatteryUsageStats.XML_ATTR_DURATION, durationMs); } - if (mData.layout.powerModelsIncluded) { - serializer.attributeInt(null, BatteryUsageStats.XML_ATTR_MODEL, - getPowerModel(key)); - } serializer.endTag(null, BatteryUsageStats.XML_TAG_COMPONENT); } serializer.endTag(null, BatteryUsageStats.XML_TAG_POWER_COMPONENTS); @@ -411,7 +397,6 @@ class PowerComponents { int powerState = POWER_STATE_UNSPECIFIED; double powerMah = 0; long durationMs = 0; - int model = BatteryConsumer.POWER_MODEL_UNDEFINED; for (int i = 0; i < parser.getAttributeCount(); i++) { switch (parser.getAttributeName(i)) { case BatteryUsageStats.XML_ATTR_ID: @@ -432,14 +417,11 @@ class PowerComponents { case BatteryUsageStats.XML_ATTR_DURATION: durationMs = parser.getAttributeLong(i); break; - case BatteryUsageStats.XML_ATTR_MODEL: - model = parser.getAttributeInt(i); - break; } } final BatteryConsumer.Key key = builder.mData.layout.getKey(componentId, processState, screenState, powerState); - builder.addConsumedPower(key, powerMah, model); + builder.addConsumedPower(key, powerMah); builder.addUsageDurationMillis(key, durationMs); break; } @@ -453,43 +435,28 @@ class PowerComponents { * Builder for PowerComponents. */ static final class Builder { - private static final byte POWER_MODEL_UNINITIALIZED = -1; - private final BatteryConsumer.BatteryConsumerData mData; private final double mMinConsumedPowerThreshold; Builder(BatteryConsumer.BatteryConsumerData data, double minConsumedPowerThreshold) { mData = data; mMinConsumedPowerThreshold = minConsumedPowerThreshold; - for (BatteryConsumer.Key key : mData.layout.keys) { - if (key.mPowerModelColumnIndex != POWER_MODEL_NOT_INCLUDED) { - mData.putInt(key.mPowerModelColumnIndex, POWER_MODEL_UNINITIALIZED); - } - } } /** - * @deprecated use {@link #addConsumedPower(BatteryConsumer.Key, double, int)} + * @deprecated use {@link #addConsumedPower(BatteryConsumer.Key, double)} */ @Deprecated @NonNull - public Builder setConsumedPower(BatteryConsumer.Key key, double componentPower, - int powerModel) { + public Builder setConsumedPower(BatteryConsumer.Key key, double componentPower) { mData.putDouble(key.mPowerColumnIndex, componentPower); - if (key.mPowerModelColumnIndex != POWER_MODEL_NOT_INCLUDED) { - mData.putInt(key.mPowerModelColumnIndex, powerModel); - } return this; } @NonNull - public Builder addConsumedPower(BatteryConsumer.Key key, double componentPower, - int powerModel) { + public Builder addConsumedPower(BatteryConsumer.Key key, double componentPower) { mData.putDouble(key.mPowerColumnIndex, mData.getDouble(key.mPowerColumnIndex) + componentPower); - if (key.mPowerModelColumnIndex != POWER_MODEL_NOT_INCLUDED) { - mData.putInt(key.mPowerModelColumnIndex, powerModel); - } return this; } @@ -547,28 +514,6 @@ class PowerComponents { mData.getLong(key.mDurationColumnIndex) + otherData.getLong(otherKey.mDurationColumnIndex)); } - if (key.mPowerModelColumnIndex == POWER_MODEL_NOT_INCLUDED) { - continue; - } - - boolean undefined = false; - if (otherKey.mPowerModelColumnIndex == POWER_MODEL_NOT_INCLUDED) { - undefined = true; - } else { - final int powerModel = mData.getInt(key.mPowerModelColumnIndex); - int otherPowerModel = otherData.getInt(otherKey.mPowerModelColumnIndex); - if (powerModel == POWER_MODEL_UNINITIALIZED) { - mData.putInt(key.mPowerModelColumnIndex, otherPowerModel); - } else if (powerModel != otherPowerModel - && otherPowerModel != POWER_MODEL_UNINITIALIZED) { - undefined = true; - } - } - - if (undefined) { - mData.putInt(key.mPowerModelColumnIndex, - BatteryConsumer.POWER_MODEL_UNDEFINED); - } } } @@ -594,13 +539,6 @@ class PowerComponents { @NonNull public PowerComponents build() { for (BatteryConsumer.Key key : mData.layout.keys) { - if (key.mPowerModelColumnIndex != POWER_MODEL_NOT_INCLUDED) { - if (mData.getInt(key.mPowerModelColumnIndex) == POWER_MODEL_UNINITIALIZED) { - mData.putInt(key.mPowerModelColumnIndex, - BatteryConsumer.POWER_MODEL_UNDEFINED); - } - } - if (mMinConsumedPowerThreshold != 0) { if (mData.getDouble(key.mPowerColumnIndex) < mMinConsumedPowerThreshold) { mData.putDouble(key.mPowerColumnIndex, 0); diff --git a/services/core/java/com/android/server/am/BatteryStatsService.java b/services/core/java/com/android/server/am/BatteryStatsService.java index d5bd05764f38..400ebfde1741 100644 --- a/services/core/java/com/android/server/am/BatteryStatsService.java +++ b/services/core/java/com/android/server/am/BatteryStatsService.java @@ -1126,20 +1126,8 @@ public final class BatteryStatsService extends IBatteryStats.Stub break; } case FrameworkStatsLog.BATTERY_USAGE_STATS_SINCE_RESET_USING_POWER_PROFILE_MODEL: - if (Flags.disableCompositeBatteryUsageStatsAtoms()) { - return StatsManager.PULL_SKIP; - } + return StatsManager.PULL_SKIP; - final BatteryUsageStatsQuery queryPowerProfile = - new BatteryUsageStatsQuery.Builder() - .setMaxStatsAgeMs(0) - .includeProcessStateData() - .includeVirtualUids() - .powerProfileModeledOnly() - .includePowerModels() - .build(); - bus = getBatteryUsageStats(List.of(queryPowerProfile)).get(0); - break; case FrameworkStatsLog.BATTERY_USAGE_STATS_BEFORE_RESET: { if (Flags.disableCompositeBatteryUsageStatsAtoms()) { return StatsManager.PULL_SKIP; @@ -3184,7 +3172,7 @@ public final class BatteryStatsService extends IBatteryStats.Stub } } - private void dumpUsageStats(FileDescriptor fd, PrintWriter pw, int model, + private void dumpUsageStats(FileDescriptor fd, PrintWriter pw, boolean proto, boolean accumulated) { awaitCompletion(); syncStats("dump", BatteryExternalStatsWorker.UPDATE_ALL); @@ -3196,9 +3184,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub if (Flags.batteryUsageStatsByPowerAndScreenState()) { builder.includeScreenStateData().includePowerStateData(); } - if (model == BatteryConsumer.POWER_MODEL_POWER_PROFILE) { - builder.powerProfileModeledOnly(); - } if (accumulated) { builder.accumulated(); } @@ -3393,7 +3378,6 @@ public final class BatteryStatsService extends IBatteryStats.Stub dumpPowerProfile(pw); return; } else if ("--usage".equals(arg)) { - int model = BatteryConsumer.POWER_MODEL_UNDEFINED; boolean proto = false; boolean accumulated = false; for (int j = i + 1; j < args.length; j++) { @@ -3401,29 +3385,12 @@ public final class BatteryStatsService extends IBatteryStats.Stub case "--proto": proto = true; break; - case "--model": { - if (j + 1 < args.length) { - j++; - if ("power-profile".equals(args[j])) { - model = BatteryConsumer.POWER_MODEL_POWER_PROFILE; - } else { - pw.println("Unknown power model: " + args[j]); - dumpHelp(pw); - return; - } - } else { - pw.println("--model without a value"); - dumpHelp(pw); - return; - } - break; - } case "--accumulated": accumulated = true; break; } } - dumpUsageStats(fd, pw, model, proto, accumulated); + dumpUsageStats(fd, pw, proto, accumulated); return; } else if ("--wakeups".equals(arg)) { mCpuWakeupStats.dump(new IndentingPrintWriter(pw, " "), 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 606bd1dd0f3f..79c9ec56302b 100644 --- a/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java +++ b/services/core/java/com/android/server/power/stats/BatteryUsageStatsProvider.java @@ -319,7 +319,7 @@ public class BatteryUsageStatsProvider { if (accumulatedStats.builder == null) { accumulatedStats.builder = new BatteryUsageStats.Builder( - stats.getCustomEnergyConsumerNames(), false, true, true, true, 0); + stats.getCustomEnergyConsumerNames(), true, true, true, 0); accumulatedStats.startWallClockTime = stats.getStartClockTime(); accumulatedStats.builder.setStatsStartTimestamp(accumulatedStats.startWallClockTime); } @@ -338,8 +338,6 @@ public class BatteryUsageStatsProvider { private BatteryUsageStats.Builder computeBatteryUsageStats(BatteryStatsImpl stats, BatteryUsageStatsQuery query, long monotonicStartTime, long monotonicEndTime, long currentTimeMs) { - final boolean includePowerModels = (query.getFlags() - & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_MODELS) != 0; final boolean includeProcessStateData = ((query.getFlags() & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_PROCESS_STATE_DATA) != 0) && stats.isProcessStateDataAvailable(); @@ -353,8 +351,7 @@ public class BatteryUsageStatsProvider { } final BatteryUsageStats.Builder batteryUsageStatsBuilder = new BatteryUsageStats.Builder( - customEnergyConsumerNames, includePowerModels, - includeProcessStateData, query.isScreenStateDataNeeded(), + customEnergyConsumerNames, includeProcessStateData, query.isScreenStateDataNeeded(), query.isPowerStateDataNeeded(), minConsumedPowerThreshold); synchronized (stats) { @@ -444,8 +441,6 @@ public class BatteryUsageStatsProvider { private BatteryUsageStats getAggregatedBatteryUsageStats(BatteryStatsImpl stats, BatteryUsageStatsQuery query) { - final boolean includePowerModels = (query.getFlags() - & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_MODELS) != 0; final boolean includeProcessStateData = ((query.getFlags() & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_PROCESS_STATE_DATA) != 0) && stats.isProcessStateDataAvailable(); @@ -453,7 +448,7 @@ public class BatteryUsageStatsProvider { final String[] customEnergyConsumerNames = stats.getCustomEnergyConsumerNames(); final BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( - customEnergyConsumerNames, includePowerModels, includeProcessStateData, + customEnergyConsumerNames, includeProcessStateData, query.isScreenStateDataNeeded(), query.isPowerStateDataNeeded(), minConsumedPowerThreshold); if (mPowerStatsStore == null) { diff --git a/services/core/java/com/android/server/power/stats/processor/PowerStatsExporter.java b/services/core/java/com/android/server/power/stats/processor/PowerStatsExporter.java index b2442c81b2e5..ef0e63bece90 100644 --- a/services/core/java/com/android/server/power/stats/processor/PowerStatsExporter.java +++ b/services/core/java/com/android/server/power/stats/processor/PowerStatsExporter.java @@ -224,13 +224,12 @@ class PowerStatsExporter { BatteryConsumer.Key key = getKeyForPartialTotal(batteryUsageStatsBuilder, deviceScope, powerComponentId, screenState, powerState); if (key != null) { - deviceScope.addConsumedPower(key, totalPower[0], - BatteryConsumer.POWER_MODEL_UNDEFINED); + deviceScope.addConsumedPower(key, totalPower[0]); deviceScope.addUsageDurationMillis(key, durationMs[0]); } key = deviceScope.getKey(powerComponentId, BatteryConsumer.PROCESS_STATE_UNSPECIFIED); if (key != null) { - deviceScope.addConsumedPower(key, totalPower[0], BatteryConsumer.POWER_MODEL_UNDEFINED); + deviceScope.addConsumedPower(key, totalPower[0]); deviceScope.addUsageDurationMillis(key, durationMs[0]); } } @@ -373,7 +372,7 @@ class PowerStatsExporter { BatteryConsumer.Key key = builder.getKey(powerComponentId, procState, resultScreenState, resultPowerState); if (key != null) { - builder.addConsumedPower(key, power, BatteryConsumer.POWER_MODEL_UNDEFINED); + builder.addConsumedPower(key, power); builder.addUsageDurationMillis(key, duration); } } @@ -384,8 +383,7 @@ class PowerStatsExporter { BatteryConsumer.PROCESS_STATE_UNSPECIFIED); if (key != null) { builder.addConsumedPower(key, - powerByProcState[BatteryConsumer.PROCESS_STATE_UNSPECIFIED], - BatteryConsumer.POWER_MODEL_UNDEFINED); + powerByProcState[BatteryConsumer.PROCESS_STATE_UNSPECIFIED]); builder.addUsageDurationMillis(key, durationByProcState[BatteryConsumer.PROCESS_STATE_UNSPECIFIED]); } @@ -399,11 +397,9 @@ class PowerStatsExporter { BatteryConsumer.Key key = getKeyForPartialTotal(batteryUsageStatsBuilder, allAppsScope, powerComponentId, screenState, powerState); if (key != null) { - allAppsScope.addConsumedPower(key, powerAllApps, - BatteryConsumer.POWER_MODEL_UNDEFINED); + allAppsScope.addConsumedPower(key, powerAllApps); } - allAppsScope.addConsumedPower(powerComponentId, powerAllApps, - BatteryConsumer.POWER_MODEL_UNDEFINED); + allAppsScope.addConsumedPower(powerComponentId, powerAllApps); } @Nullable diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java index c0be8652f303..4b91d8418fc3 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/AmbientDisplayPowerCalculatorTest.java @@ -79,8 +79,6 @@ public class AmbientDisplayPowerCalculatorTest { // 100,000,00 uC / 1000 (micro-/milli-) / 360 (seconds/hour) = 27.777778 mAh 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_ENERGY_CONSUMPTION); } @Test @@ -140,8 +138,6 @@ public class AmbientDisplayPowerCalculatorTest { // (seconds/hour) = 27.777778 mAh 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_ENERGY_CONSUMPTION); } @Test @@ -163,8 +159,6 @@ public class AmbientDisplayPowerCalculatorTest { .isEqualTo(90 * MINUTE_IN_MS); assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) .isWithin(PRECISION).of(15.0); - assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -195,7 +189,5 @@ public class AmbientDisplayPowerCalculatorTest { .isEqualTo(120 * MINUTE_IN_MS); assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) .isWithin(PRECISION).of(35.0); - assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } } diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsAtomTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsAtomTest.java index 5d50e6c9f715..9da89fcf2e84 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsAtomTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsAtomTest.java @@ -311,10 +311,6 @@ public class BatteryUsageStatsAtomTest { bus.getAggregateBatteryConsumer(AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE), proto.deviceBatteryConsumer); - for (int i = 0; i < BatteryConsumer.POWER_COMPONENT_COUNT; i++) { - assertPowerComponentModel(i, abc.getPowerModel(i), proto); - } - // Now for the UidBatteryConsumers. final List<android.os.UidBatteryConsumer> uidConsumers = bus.getUidBatteryConsumers(); uidConsumers.sort((a, b) -> a.getUid() - b.getUid()); @@ -450,34 +446,6 @@ public class BatteryUsageStatsAtomTest { } } - /** - * Validates the PowerComponentModel object that matches powerComponent. - */ - private void assertPowerComponentModel(int powerComponent, - @BatteryConsumer.PowerModel int powerModel, BatteryUsageStatsAtomsProto proto) { - boolean found = false; - for (BatteryUsageStatsAtomsProto.PowerComponentModel powerComponentModel : - proto.componentModels) { - if (powerComponentModel.component == powerComponent) { - if (found) { - fail("Power component " + BatteryConsumer.powerComponentIdToString( - powerComponent) + " found multiple times in the proto"); - } - found = true; - final int expectedPowerModel = BatteryConsumer.powerModelToProtoEnum(powerModel); - assertEquals(expectedPowerModel, powerComponentModel.powerModel); - } - } - if (!found) { - final int model = BatteryConsumer.powerModelToProtoEnum(powerModel); - assertEquals( - "Power component " + BatteryConsumer.powerComponentIdToString(powerComponent) - + " was not found in the proto but has a defined power model.", - BatteryUsageStatsAtomsProto.PowerComponentModel.UNDEFINED, - model); - } - } - /** Converts charge from milliamp hours (mAh) to decicoulombs (dC). */ private long convertMahToDc(double powerMah) { return (long) (powerMah * 36 + 0.5); @@ -486,7 +454,6 @@ public class BatteryUsageStatsAtomTest { private BatteryUsageStats buildBatteryUsageStats() { final BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder(new String[]{"CustomConsumer1", "CustomConsumer2"}, - /* includePowerModels */ true, /* includeProcessStats */ true, /* includeScreenStateData */ false, /* includePowerStateData */ false, @@ -524,13 +491,13 @@ public class BatteryUsageStatsAtomTest { final BatteryConsumer.Key keyCached = uidBuilder.getKey(BatteryConsumer.POWER_COMPONENT_CPU, BatteryConsumer.PROCESS_STATE_CACHED); - uidBuilder.addConsumedPower(keyFg, 9100, BatteryConsumer.POWER_MODEL_POWER_PROFILE) + uidBuilder.addConsumedPower(keyFg, 9100) .addUsageDurationMillis(keyFg, 8100) - .addConsumedPower(keyBg, 9200, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) + .addConsumedPower(keyBg, (double) 9200) .addUsageDurationMillis(keyBg, 8200) - .addConsumedPower(keyFgs, 9300, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) + .addConsumedPower(keyFgs, (double) 9300) .addUsageDurationMillis(keyFgs, 8300) - .addConsumedPower(keyCached, 9400, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) + .addConsumedPower(keyCached, (double) 9400) .addUsageDurationMillis(keyCached, 8400); final BatteryConsumer.Key keyCustomFg = uidBuilder.getKey( @@ -539,10 +506,8 @@ public class BatteryUsageStatsAtomTest { final BatteryConsumer.Key keyCustomBg = uidBuilder.getKey( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, BatteryConsumer.PROCESS_STATE_BACKGROUND); - uidBuilder.addConsumedPower( - keyCustomFg, 100, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); - uidBuilder.addConsumedPower( - keyCustomBg, 350, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); + uidBuilder.addConsumedPower(keyCustomFg, 100); + uidBuilder.addConsumedPower(keyCustomBg, 350); builder.getOrCreateUidBatteryConsumerBuilder(UID_1) .setPackageWithHighestDrain("myPackage1") @@ -557,14 +522,11 @@ public class BatteryUsageStatsAtomTest { builder.getAggregateBatteryConsumerBuilder(AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE) .addConsumedPower(30000) .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_CPU, 20100, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + BatteryConsumer.POWER_COMPONENT_CPU, 20100) .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_AUDIO, 0, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) // Empty + BatteryConsumer.POWER_COMPONENT_AUDIO, 0) // Empty .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_CAMERA, 20150, - BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION) + BatteryConsumer.POWER_COMPONENT_CAMERA, 20150) .addConsumedPower( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, 20200) .addUsageDurationMillis( @@ -576,8 +538,7 @@ public class BatteryUsageStatsAtomTest { builder.getAggregateBatteryConsumerBuilder( BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_ALL_APPS) .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_CPU, 10100, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + BatteryConsumer.POWER_COMPONENT_CPU, 10100) .addConsumedPower( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, 10200); @@ -587,7 +548,7 @@ public class BatteryUsageStatsAtomTest { @Test public void testLargeAtomTruncated() throws Exception { final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(new String[0], true, false, false, false, 0); + new BatteryUsageStats.Builder(new String[0], false, false, false, 0); // If not truncated, this BatteryUsageStats object would generate a proto buffer // significantly larger than 50 Kb for (int i = 0; i < 3000; i++) { diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java index 383616eb59eb..a3c7ece386c7 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsRule.java @@ -423,8 +423,6 @@ public class BatteryUsageStatsRule implements TestRule { mBatteryUsageStats = null; } final String[] customPowerComponentNames = mBatteryStats.getCustomEnergyConsumerNames(); - final boolean includePowerModels = (query.getFlags() - & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_MODELS) != 0; final boolean includeProcessStateData = (query.getFlags() & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_PROCESS_STATE_DATA) != 0; final boolean includeScreenStateData = (query.getFlags() @@ -433,7 +431,7 @@ public class BatteryUsageStatsRule implements TestRule { & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_POWER_STATE) != 0; final double minConsumedPowerThreshold = query.getMinConsumedPowerThreshold(); BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( - customPowerComponentNames, includePowerModels, includeProcessStateData, + customPowerComponentNames, includeProcessStateData, includeScreenStateData, includePowerStateData, minConsumedPowerThreshold); SparseArray<? extends BatteryStats.Uid> uidStats = mBatteryStats.getUidStats(); for (int i = 0; i < uidStats.size(); i++) { diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java index 9771da590e37..dd50431b598e 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BatteryUsageStatsTest.java @@ -17,8 +17,6 @@ package com.android.server.power.stats; import static android.os.BatteryConsumer.POWER_COMPONENT_ANY; -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; import static android.os.BatteryConsumer.PROCESS_STATE_FOREGROUND; @@ -237,7 +235,7 @@ public class BatteryUsageStatsTest { final BatteryUsageStats stats1 = buildBatteryUsageStats1(false).build(); final BatteryUsageStats stats2 = buildBatteryUsageStats2(new String[]{"FOO"}, true).build(); final BatteryUsageStats sum = - new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, true, 0) + new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, 0) .add(stats1) .add(stats2) .build(); @@ -248,15 +246,13 @@ public class BatteryUsageStatsTest { for (UidBatteryConsumer uidBatteryConsumer : uidBatteryConsumers) { if (uidBatteryConsumer.getUid() == APP_UID1) { assertUidBatteryConsumer(uidBatteryConsumer, 1200 + 924, null, - 5321, 6900, 532, 423, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 400 + 345, - POWER_MODEL_UNDEFINED, + 5321, 6900, 532, 423, 400 + 345, 500 + 456, 1167, 1478, true, 3554, 4732, 3998, 444, 3554, 15542, 3776, 17762, 3998, 19982, 444, 1110); } else if (uidBatteryConsumer.getUid() == APP_UID2) { assertUidBatteryConsumer(uidBatteryConsumer, 1332, "bar", - 1111, 2220, 2, 333, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 444, - BatteryConsumer.POWER_MODEL_POWER_PROFILE, + 1111, 2220, 2, 333, 444, 555, 666, 777, true, 1777, 2443, 1999, 321, 1777, 7771, 1888, 8881, 1999, 9991, 321, 654); @@ -280,7 +276,7 @@ public class BatteryUsageStatsTest { @Test public void testAdd_customComponentMismatch() throws Exception { final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, true, 0); + new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, 0); final BatteryUsageStats stats = buildBatteryUsageStats2(new String[]{"BAR"}, false).build(); assertThrows(IllegalArgumentException.class, () -> builder.add(stats)); @@ -291,7 +287,7 @@ public class BatteryUsageStatsTest { @Test public void testAdd_processStateDataMismatch() throws Exception { final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, true, 0); + new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, true, 0); final BatteryUsageStats stats = buildBatteryUsageStats2(new String[]{"FOO"}, false).build(); assertThrows(IllegalArgumentException.class, () -> builder.add(stats)); @@ -328,7 +324,7 @@ public class BatteryUsageStatsTest { final MockBatteryStatsImpl batteryStats = new MockBatteryStatsImpl(clocks); final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(new String[]{"FOO"}, true, true, + new BatteryUsageStats.Builder(new String[]{"FOO"}, true, includeScreenState, includePowerState, 0) .setBatteryCapacity(4000) .setDischargePercentage(20) @@ -339,8 +335,8 @@ public class BatteryUsageStatsTest { addUidBatteryConsumer(builder, batteryStats, APP_UID1, "foo", 1000, 1500, 500, - 300, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 400, - BatteryConsumer.POWER_MODEL_POWER_PROFILE, 500, 600, 800, + 300, 400, + 500, 600, 800, 1777, 7771, 1888, 8881, 1999, 9991, 123, 456); addAggregateBatteryConsumer(builder, @@ -373,7 +369,7 @@ public class BatteryUsageStatsTest { final MockBatteryStatsImpl batteryStats = new MockBatteryStatsImpl(clocks); final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(customPowerComponentNames, true, + new BatteryUsageStats.Builder(customPowerComponentNames, includeProcessStateData, true, true, 0); builder.setDischargePercentage(30) .setDischargedPowerRange(1234, 2345) @@ -382,14 +378,14 @@ public class BatteryUsageStatsTest { addUidBatteryConsumer(builder, batteryStats, APP_UID1, null, 4321, 5400, 32, - 123, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 345, POWER_MODEL_ENERGY_CONSUMPTION, + 123, 345, 456, 567, 678, 1777, 7771, 1888, 8881, 1999, 9991, 321, 654); addUidBatteryConsumer(builder, batteryStats, APP_UID2, "bar", 1111, 2220, 2, - 333, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 444, - BatteryConsumer.POWER_MODEL_POWER_PROFILE, 555, 666, 777, + 333, 444, + 555, 666, 777, 1777, 7771, 1888, 8881, 1999, 9991, 321, 654); addAggregateBatteryConsumer(builder, @@ -409,7 +405,7 @@ public class BatteryUsageStatsTest { MockBatteryStatsImpl batteryStats, int uid, String packageWithHighestDrain, int timeInProcessStateForeground, int timeInProcessStateBackground, int timeInProcessStateForegroundService, double screenPower, - int screenPowerModel, double cpuPower, int cpuPowerModel, double customComponentPower, + double cpuPower, double customComponentPower, int cpuDuration, int customComponentDuration, double cpuPowerForeground, int cpuDurationForeground, double cpuPowerBackground, int cpuDurationBackground, double cpuPowerFgs, int cpuDurationFgs, double cpuPowerCached, long cpuDurationCached) { @@ -423,9 +419,9 @@ public class BatteryUsageStatsTest { .setTimeInProcessStateMs(PROCESS_STATE_FOREGROUND_SERVICE, timeInProcessStateForegroundService) .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_SCREEN, screenPower, screenPowerModel) + BatteryConsumer.POWER_COMPONENT_SCREEN, screenPower) .addConsumedPower( - BatteryConsumer.POWER_COMPONENT_CPU, cpuPower, cpuPowerModel) + BatteryConsumer.POWER_COMPONENT_CPU, cpuPower) .addConsumedPower( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, customComponentPower) .addUsageDurationMillis( @@ -460,21 +456,15 @@ public class BatteryUsageStatsTest { : uidBuilder.getKey( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID, BatteryConsumer.PROCESS_STATE_BACKGROUND); - uidBuilder - .addConsumedPower(cpuFgKey, cpuPowerForeground, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + uidBuilder.addConsumedPower(cpuFgKey, cpuPowerForeground) .addUsageDurationMillis(cpuFgKey, cpuDurationForeground) - .addConsumedPower(cpuBgKey, cpuPowerBackground, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cpuBgKey, cpuPowerBackground) .addUsageDurationMillis(cpuBgKey, cpuDurationBackground) - .addConsumedPower(cpuFgsKey, cpuPowerFgs, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cpuFgsKey, cpuPowerFgs) .addUsageDurationMillis(cpuFgsKey, cpuDurationFgs) - .addConsumedPower(cachedKey, cpuPowerCached, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cachedKey, cpuPowerCached) .addUsageDurationMillis(cachedKey, cpuDurationCached) - .addConsumedPower(customBgKey, customComponentPower, - BatteryConsumer.POWER_MODEL_UNDEFINED) + .addConsumedPower(customBgKey, customComponentPower) .addUsageDurationMillis(customBgKey, customComponentDuration); } } @@ -518,18 +508,13 @@ public class BatteryUsageStatsTest { BatteryConsumer.PROCESS_STATE_UNSPECIFIED, BatteryConsumer.SCREEN_STATE_OTHER, BatteryConsumer.POWER_STATE_OTHER); - aggBuilder - .addConsumedPower(cpuBatScrOn, cpuPowerBatScrOn, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + aggBuilder.addConsumedPower(cpuBatScrOn, cpuPowerBatScrOn) .addUsageDurationMillis(cpuBatScrOn, cpuDurationBatScrOn) - .addConsumedPower(cpuBatScrOff, cpuPowerBatScrOff, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cpuBatScrOff, cpuPowerBatScrOff) .addUsageDurationMillis(cpuBatScrOff, cpuDurationBatScrOff) - .addConsumedPower(cpuChgScrOn, cpuPowerChgScrOn, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cpuChgScrOn, cpuPowerChgScrOn) .addUsageDurationMillis(cpuChgScrOn, cpuDurationChgScrOn) - .addConsumedPower(cpuChgScrOff, cpuPowerChgScrOff, - BatteryConsumer.POWER_MODEL_POWER_PROFILE) + .addConsumedPower(cpuChgScrOff, cpuPowerChgScrOff) .addUsageDurationMillis(cpuChgScrOff, cpuDurationChgScrOff); } } @@ -544,8 +529,7 @@ public class BatteryUsageStatsTest { for (UidBatteryConsumer uidBatteryConsumer : uidBatteryConsumers) { if (uidBatteryConsumer.getUid() == APP_UID1) { assertUidBatteryConsumer(uidBatteryConsumer, 1200, "foo", - 1000, 1500, 500, 300, BatteryConsumer.POWER_MODEL_POWER_PROFILE, 400, - BatteryConsumer.POWER_MODEL_POWER_PROFILE, + 1000, 1500, 500, 300, 400, 500, 600, 800, true, 1777, 2388, 1999, 123, 1777, 7771, 1888, 8881, 1999, 9991, 123, 456); } else { @@ -596,8 +580,8 @@ public class BatteryUsageStatsTest { private void assertUidBatteryConsumer(UidBatteryConsumer uidBatteryConsumer, double consumedPower, String packageWithHighestDrain, int timeInProcessStateForeground, int timeInProcessStateBackground, int timeInProcessStateForegroundService, - int screenPower, int screenPowerModel, double cpuPower, - int cpuPowerModel, double customComponentPower, int cpuDuration, + int screenPower, double cpuPower, + double customComponentPower, int cpuDuration, int customComponentDuration, boolean processStateDataIncluded, double totalPowerForeground, double totalPowerBackground, double totalPowerFgs, double totalPowerCached, double cpuPowerForeground, int cpuDurationForeground, @@ -620,12 +604,8 @@ public class BatteryUsageStatsTest { PROCESS_STATE_FOREGROUND_SERVICE)).isEqualTo(timeInProcessStateForegroundService); assertThat(uidBatteryConsumer.getConsumedPower( BatteryConsumer.POWER_COMPONENT_SCREEN)).isEqualTo(screenPower); - assertThat(uidBatteryConsumer.getPowerModel( - BatteryConsumer.POWER_COMPONENT_SCREEN)).isEqualTo(screenPowerModel); assertThat(uidBatteryConsumer.getConsumedPower( BatteryConsumer.POWER_COMPONENT_CPU)).isEqualTo(cpuPower); - assertThat(uidBatteryConsumer.getPowerModel( - BatteryConsumer.POWER_COMPONENT_CPU)).isEqualTo(cpuPowerModel); assertThat(uidBatteryConsumer.getConsumedPower( BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID)).isEqualTo(customComponentPower); assertThat(uidBatteryConsumer.getUsageDurationMillis( diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java index fe6424f91d83..c9cb0dfa98e4 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/BluetoothPowerCalculatorTest.java @@ -82,16 +82,16 @@ public class BluetoothPowerCalculatorTest { assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(Process.BLUETOOTH_UID), - 0.06944, 3000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.06944, 3000); assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(APP_UID), - 0.19444, 9000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.19444, 9000); assertBluetoothPowerAndDuration( mStatsRule.getDeviceBatteryConsumer(), - 0.26388, 12000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.26388, 12000); assertBluetoothPowerAndDuration( mStatsRule.getAppsBatteryConsumer(), - 0.26388, 12000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.26388, 12000); } @Test @@ -144,8 +144,6 @@ public class BluetoothPowerCalculatorTest { .isEqualTo(6166); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) .isWithin(PRECISION).of(0.1226666); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_BLUETOOTH, @@ -178,16 +176,16 @@ public class BluetoothPowerCalculatorTest { assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(Process.BLUETOOTH_UID), - 0.08216, 3583, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.08216, 3583); assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(APP_UID), - 0.18169, 8416, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.18169, 8416); assertBluetoothPowerAndDuration( mStatsRule.getDeviceBatteryConsumer(), - 0.30030, 12000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.30030, 12000); assertBluetoothPowerAndDuration( mStatsRule.getAppsBatteryConsumer(), - 0.26386, 11999, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.26386, 11999); } @Test @@ -202,16 +200,16 @@ public class BluetoothPowerCalculatorTest { assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(Process.BLUETOOTH_UID), - 0.10378, 3583, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); + 0.10378, 3583); assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(APP_UID), - 0.22950, 8416, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); + 0.22950, 8416); assertBluetoothPowerAndDuration( mStatsRule.getDeviceBatteryConsumer(), - 0.33333, 12000, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); + 0.33333, 12000); assertBluetoothPowerAndDuration( mStatsRule.getAppsBatteryConsumer(), - 0.33329, 11999, BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); + 0.33329, 11999); } @Test @@ -264,8 +262,6 @@ public class BluetoothPowerCalculatorTest { .isEqualTo(6166); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) .isWithin(PRECISION).of(0.8220561); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_BLUETOOTH, @@ -299,16 +295,16 @@ public class BluetoothPowerCalculatorTest { assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(Process.BLUETOOTH_UID), - 0.08216, 3583, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.08216, 3583); assertBluetoothPowerAndDuration( mStatsRule.getUidBatteryConsumer(APP_UID), - 0.18169, 8416, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.18169, 8416); assertBluetoothPowerAndDuration( mStatsRule.getDeviceBatteryConsumer(), - 0.26388, 12000, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.26388, 12000); assertBluetoothPowerAndDuration( mStatsRule.getAppsBatteryConsumer(), - 0.26386, 11999, BatteryConsumer.POWER_MODEL_POWER_PROFILE); + 0.26386, 11999); } private void setupBluetoothEnergyInfo(long reportedEnergyUc, long consumedEnergyUc) { @@ -326,14 +322,12 @@ public class BluetoothPowerCalculatorTest { } private void assertBluetoothPowerAndDuration(@Nullable BatteryConsumer batteryConsumer, - double powerMah, int durationMs, @BatteryConsumer.PowerModel int powerModel) { + double powerMah, int durationMs) { assertThat(batteryConsumer).isNotNull(); double consumedPower = batteryConsumer.getConsumedPower( BatteryConsumer.POWER_COMPONENT_BLUETOOTH); assertThat(consumedPower).isWithin(PRECISION).of(powerMah); - assertThat(batteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_BLUETOOTH)) - .isEqualTo(powerModel); long usageDurationMillis = batteryConsumer.getUsageDurationMillis( BatteryConsumer.POWER_COMPONENT_BLUETOOTH); diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/CameraPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/CameraPowerCalculatorTest.java index 7225f2d3995c..4cd3857a80bb 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/CameraPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/CameraPowerCalculatorTest.java @@ -70,16 +70,12 @@ public class CameraPowerCalculatorTest { .isEqualTo(1000); assertThat(app1Consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.1); - assertThat(app1Consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); UidBatteryConsumer app2Consumer = mStatsRule.getUidBatteryConsumer(APP2_UID); assertThat(app2Consumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isEqualTo(2000); assertThat(app2Consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.2); - assertThat(app2Consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); final BatteryConsumer deviceBatteryConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceBatteryConsumer @@ -87,8 +83,6 @@ public class CameraPowerCalculatorTest { .isEqualTo(3000); assertThat(deviceBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.3); - assertThat(deviceBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); final BatteryConsumer appsBatteryConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsBatteryConsumer @@ -96,8 +90,6 @@ public class CameraPowerCalculatorTest { .isEqualTo(3000); assertThat(appsBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.3); - assertThat(appsBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -122,16 +114,12 @@ public class CameraPowerCalculatorTest { .isEqualTo(1000); assertThat(app1Consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.2); - assertThat(app1Consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer app2Consumer = mStatsRule.getUidBatteryConsumer(APP2_UID); assertThat(app2Consumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isEqualTo(2000); assertThat(app2Consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.3); - assertThat(app2Consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer deviceBatteryConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceBatteryConsumer @@ -139,8 +127,6 @@ public class CameraPowerCalculatorTest { .isEqualTo(3000); assertThat(deviceBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.5); - assertThat(deviceBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer appsBatteryConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsBatteryConsumer @@ -148,7 +134,5 @@ public class CameraPowerCalculatorTest { .isEqualTo(3000); assertThat(appsBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CAMERA)) .isWithin(PRECISION).of(0.5); - assertThat(appsBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CAMERA)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } } diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java index 4cea72835fba..527db67a84ae 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/CpuPowerCalculatorTest.java @@ -192,8 +192,6 @@ public class CpuPowerCalculatorTest { .isEqualTo(3333); assertThat(uidConsumer1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(1.031677); - assertThat(uidConsumer1.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); assertThat(uidConsumer1.getPackageWithHighestDrain()).isEqualTo("bar"); UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); @@ -201,21 +199,15 @@ public class CpuPowerCalculatorTest { .isEqualTo(7777); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(2.489544); - assertThat(uidConsumer2.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); assertThat(uidConsumer2.getPackageWithHighestDrain()).isNull(); final BatteryConsumer deviceBatteryConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(3.52122); - assertThat(deviceBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); final BatteryConsumer appsBatteryConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsBatteryConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(3.52122); - assertThat(appsBatteryConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -264,8 +256,6 @@ public class CpuPowerCalculatorTest { .isEqualTo(3333); assertThat(uidConsumer1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(3.18877); - assertThat(uidConsumer1.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(uidConsumer1.getPackageWithHighestDrain()).isEqualTo("bar"); UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); @@ -273,21 +263,15 @@ public class CpuPowerCalculatorTest { .isEqualTo(7777); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_CPU)) .isWithin(PRECISION).of(7.44072); - assertThat(uidConsumer2.getPowerModel(BatteryConsumer.POWER_COMPONENT_CPU)) - .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_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_ENERGY_CONSUMPTION); } @Test diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java index 3b5658c2e40a..506bab4b3600 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/GnssPowerCalculatorTest.java @@ -68,20 +68,14 @@ public class GnssPowerCalculatorTest { .isEqualTo(1000); assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(0.1); - assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(0.1); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(0.1); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -107,27 +101,19 @@ public class GnssPowerCalculatorTest { .isEqualTo(1000); assertThat(consumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(2.77777); - assertThat(consumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer consumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(consumer2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_GNSS)) .isEqualTo(2000); assertThat(consumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_GNSS)) .isWithin(PRECISION).of(5.55555); - assertThat(consumer2.getPowerModel(BatteryConsumer.POWER_COMPONENT_GNSS)) - .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_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_ENERGY_CONSUMPTION); } } diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java index 9b810bc01b4d..eba820e95783 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/MobileRadioPowerCalculatorTest.java @@ -164,8 +164,6 @@ public class MobileRadioPowerCalculatorTest { // = 4604000 mA-ms or 1.27888 mA-h assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.27888); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 720 mA * 100 ms (level 0 TX drain rate * level 0 TX duration) // + 1080 mA * 200 ms (level 1 TX drain rate * level 1 TX duration) @@ -178,22 +176,16 @@ public class MobileRadioPowerCalculatorTest { BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.94); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 3/4 of total packets were sent by APP_UID so 75% of total UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.705); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // Rest should go to the other app UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.235); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -321,8 +313,6 @@ public class MobileRadioPowerCalculatorTest { // = 5177753 mA-ms or 1.43826 mA-h total consumption assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.43826); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 720 mA * 100 ms (level 0 TX drain rate * level 0 TX duration) // + 1080 mA * 200 ms (level 1 TX drain rate * level 1 TX duration) @@ -335,22 +325,16 @@ public class MobileRadioPowerCalculatorTest { BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.09938); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 3/4 of total packets were sent by APP_UID so 75% of total UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.82453); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // Rest should go to the other app UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.27484); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -441,8 +425,6 @@ public class MobileRadioPowerCalculatorTest { // = 4604000 mA-ms or 1.27888 mA-h assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.27888); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 720 mA * 100 ms (level 0 TX drain rate * level 0 TX duration) // + 1080 mA * 200 ms (level 1 TX drain rate * level 1 TX duration) @@ -455,22 +437,16 @@ public class MobileRadioPowerCalculatorTest { BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.94); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // 3/4 of total packets were sent by APP_UID so 75% of total UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.705); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); // Rest should go to the other app UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.235); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -648,24 +624,16 @@ public class MobileRadioPowerCalculatorTest { // 200ms phone on duration / 2000 total duration * 2.77778 mAh = 0.27777 assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(2.5); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_PHONE)) .isWithin(PRECISION).of(0.27778); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_PHONE)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.38541); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.38541); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -782,12 +750,8 @@ public class MobileRadioPowerCalculatorTest { // 1000ms phone on duration / 10000 total duration * 2.77778 mAh = 0.27777 assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(2.5); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_PHONE)) .isWithin(PRECISION).of(0.27778); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_PHONE)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); // CDMA2000 [Tx0, Tx1, Tx2, Tx3, Tx4, Rx] drain * duration // [720, 1080, 1440, 1800, 2160, 1440] mA . [10, 11, 12, 13, 14, 15] ms = 111600 mA-ms @@ -817,8 +781,6 @@ public class MobileRadioPowerCalculatorTest { BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.91094); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); // 240 ms Rx Time, 1110 ms Tx Time, 1350 ms active time // 150 App 1 Rx Packets, 10 App 1 Tx packets @@ -841,15 +803,11 @@ public class MobileRadioPowerCalculatorTest { UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.27574); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); // Rest should go to the other app UidBatteryConsumer uidConsumer2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uidConsumer2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(0.63520); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test @@ -936,12 +894,8 @@ public class MobileRadioPowerCalculatorTest { // 1000ms phone on duration / 10000 total duration * 2.77778 mAh = 0.27777 assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(2.5); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_PHONE)) .isWithin(PRECISION).of(0.27778); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_PHONE)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); // Estimated Rx/Tx modem consumption = 0.94 mAh @@ -949,14 +903,10 @@ public class MobileRadioPowerCalculatorTest { // 2.5 * 0.94 / 1.27888 = 1.83754 mAh assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.83754); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uidConsumer = mStatsRule.getUidBatteryConsumer(APP_UID); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) .isWithin(PRECISION).of(1.83754); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); } @Test diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java index 2da98e8b9a61..7f20035253f0 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/ScreenPowerCalculatorTest.java @@ -104,8 +104,6 @@ public class ScreenPowerCalculatorTest { // Uid1 charge = 200000000 + 5 / 45 * 300000000 mAs = 64.81 mAh assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(64.81481); - assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -116,8 +114,6 @@ public class ScreenPowerCalculatorTest { // Uid2 charge = 40 / 45 * 300000000 + 100000000 mAs = 101.85 mAh assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(101.85185); - assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -126,8 +122,6 @@ public class ScreenPowerCalculatorTest { // 600000000 uAs * (1 mA / 1000 uA) * (1 h / 3600 s) = 166.66666 mAh assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(166.66666); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -135,11 +129,8 @@ 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_ENERGY_CONSUMPTION); } - @Test public void testMeasuredEnergyBasedModel_multiDisplay() { mStatsRule.initMeasuredEnergyStatsLocked() @@ -202,8 +193,6 @@ public class ScreenPowerCalculatorTest { // (600000000 + 800000000) uAs * (1 mA / 1000 uA) * (1 h / 3600 s) = 166.66666 mAh assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(388.88888); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid1 = mStatsRule.getUidBatteryConsumer(APP_UID1); assertThat(uid1.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -214,8 +203,6 @@ public class ScreenPowerCalculatorTest { // Uid1 charge = 20 / 80 * 600000000 mAs = 41.66666 mAh assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(41.66666); - assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -226,17 +213,12 @@ public class ScreenPowerCalculatorTest { // Uid1 charge = 60 / 80 * 600000000 + 800000000 mAs = 347.22222 mAh assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(347.22222); - assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isEqualTo(110 * MINUTE_IN_MS); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(388.88888); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); - } @Test @@ -277,8 +259,6 @@ public class ScreenPowerCalculatorTest { // Uid1 charge = 20 / 80 * 92.0 = 23.0 mAh assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(23.0); - assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -288,27 +268,20 @@ public class ScreenPowerCalculatorTest { // Uid2 charge = 60 / 80 * 92.0 = 69.0 mAh assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(69.0); - assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isEqualTo(80 * MINUTE_IN_MS); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(92); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isEqualTo(80 * MINUTE_IN_MS); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(92); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } - @Test public void testPowerProfileBasedModel_multiDisplay() { mStatsRule.setAveragePowerForOrdinal(POWER_GROUP_DISPLAY_SCREEN_ON, 1, 60.0) @@ -364,8 +337,6 @@ public class ScreenPowerCalculatorTest { // 92 + 60 * 0.5 + 10 * 0.1 + 90 * 0.2 + 30 * 0.2 = 147 assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(147); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); UidBatteryConsumer uid1 = mStatsRule.getUidBatteryConsumer(APP_UID1); assertThat(uid1.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -375,8 +346,6 @@ public class ScreenPowerCalculatorTest { // Uid1 charge = 20 / 110 * 147.0 = 23.0 mAh assertThat(uid1.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(26.72727); - assertThat(uid1.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); UidBatteryConsumer uid2 = mStatsRule.getUidBatteryConsumer(APP_UID2); assertThat(uid2.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) @@ -386,17 +355,12 @@ public class ScreenPowerCalculatorTest { // Uid2 charge = 90 / 110 * 92.0 = 69.0 mAh assertThat(uid2.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(120.272727); - assertThat(uid2.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer appsConsumer = mStatsRule.getAppsBatteryConsumer(); assertThat(appsConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isEqualTo(110 * MINUTE_IN_MS); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_SCREEN)) .isWithin(PRECISION).of(147); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_SCREEN)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); - } private void setProcState(int uid, int procState, boolean resumed, long realtimeMs, diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java index 8e221be261e9..827d2f8f04c8 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/WifiPowerCalculatorTest.java @@ -159,22 +159,16 @@ public class WifiPowerCalculatorTest { .isEqualTo(2473); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.3964); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_WIFI)) .isEqualTo(4001); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.86666); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); BatteryConsumer appsConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(appsConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.866666); - assertThat(appsConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -214,8 +208,6 @@ public class WifiPowerCalculatorTest { .isEqualTo(12423); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(2.0214666); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_WIFI, @@ -248,22 +240,16 @@ public class WifiPowerCalculatorTest { /* Same ratio as in testPowerControllerBasedModel_nonMeasured but scaled by 1_000_000uC. */ 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_ENERGY_CONSUMPTION); BatteryConsumer deviceConsumer = mStatsRule.getDeviceBatteryConsumer(); assertThat(deviceConsumer.getUsageDurationMillis(BatteryConsumer.POWER_COMPONENT_WIFI)) .isEqualTo(4002); assertThat(deviceConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.27777); - assertThat(deviceConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .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_ENERGY_CONSUMPTION); } @Test @@ -302,8 +288,6 @@ public class WifiPowerCalculatorTest { .isEqualTo(12423); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(1.0325211); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_ENERGY_CONSUMPTION); final BatteryConsumer.Key foreground = uidConsumer.getKey( BatteryConsumer.POWER_COMPONENT_WIFI, @@ -349,8 +333,6 @@ public class WifiPowerCalculatorTest { .isEqualTo(1000); assertThat(uidConsumer.getConsumedPower(BatteryConsumer.POWER_COMPONENT_WIFI)) .isWithin(PRECISION).of(0.8231573); - assertThat(uidConsumer.getPowerModel(BatteryConsumer.POWER_COMPONENT_WIFI)) - .isEqualTo(BatteryConsumer.POWER_MODEL_POWER_PROFILE); } @Test @@ -371,8 +353,6 @@ public class WifiPowerCalculatorTest { /* Same ratio as in testTimerBasedModel_nonMeasured but scaled by 1_000_000uC. */ 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_ENERGY_CONSUMPTION); } private WifiActivityEnergyInfo buildWifiActivityEnergyInfo(long timeSinceBoot, diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java index f7a16383974d..cca60339acf7 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/BasePowerStatsProcessorTest.java @@ -176,7 +176,6 @@ public class BasePowerStatsProcessorTest { powerStatsAggregator, /* batterySessionTimeSpanSlackMillis */ 0); BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder(new String[0], - /* includePowerModels */ false, /* includeProcessStateData */ true, /* includeScreenStateData */ true, /* includesPowerStateData */ true, diff --git a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PowerStatsExporterTest.java b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PowerStatsExporterTest.java index 4643dddb1a33..38fe6134d992 100644 --- a/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PowerStatsExporterTest.java +++ b/services/tests/powerstatstests/src/com/android/server/power/stats/processor/PowerStatsExporterTest.java @@ -342,7 +342,7 @@ public class PowerStatsExporterTest { PowerStatsExporter exporter = new PowerStatsExporter(mPowerStatsStore, mPowerStatsAggregator, /* batterySessionTimeSpanSlackMillis */ 0); - BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder(new String[0], false, + BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder(new String[0], includeProcessStateData, includeScreenStateData, includesPowerStateData, 0); exporter.populateBatteryUsageStatsBuilder(builder, aps); return builder.build(); @@ -361,7 +361,7 @@ public class PowerStatsExporterTest { private void breakdownByProcState_fullRange(boolean includeScreenStateData, boolean includePowerStateData) throws Exception { BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( - new String[]{"cu570m"}, /* includePowerModels */ false, + new String[]{"cu570m"}, /* includeProcessStateData */ true, includeScreenStateData, includePowerStateData, /* powerThreshold */ 0); exportAggregatedPowerStats(builder, 1000, 10000); @@ -406,7 +406,7 @@ public class PowerStatsExporterTest { @Test public void breakdownByProcState_subRange() throws Exception { BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( - new String[]{"cu570m"}, /* includePowerModels */ false, + new String[]{"cu570m"}, /* includeProcessStateData */ true, true, true, /* powerThreshold */ 0); exportAggregatedPowerStats(builder, 3700, 6700); @@ -438,7 +438,7 @@ public class PowerStatsExporterTest { @Test public void combinedProcessStates() throws Exception { BatteryUsageStats.Builder builder = new BatteryUsageStats.Builder( - new String[]{"cu570m"}, /* includePowerModels */ false, + new String[]{"cu570m"}, /* includeProcessStateData */ false, true, true, /* powerThreshold */ 0); exportAggregatedPowerStats(builder, 1000, 10000); diff --git a/tests/BatteryStatsPerfTest/src/com/android/internal/os/BatteryUsageStatsPerfTest.java b/tests/BatteryStatsPerfTest/src/com/android/internal/os/BatteryUsageStatsPerfTest.java index bfce3d276a2d..6d818d7287b0 100644 --- a/tests/BatteryStatsPerfTest/src/com/android/internal/os/BatteryUsageStatsPerfTest.java +++ b/tests/BatteryStatsPerfTest/src/com/android/internal/os/BatteryUsageStatsPerfTest.java @@ -159,7 +159,7 @@ public class BatteryUsageStatsPerfTest { private static BatteryUsageStats buildBatteryUsageStats() { final BatteryUsageStats.Builder builder = - new BatteryUsageStats.Builder(new String[]{"FOO"}, true, false, false, false, 0) + new BatteryUsageStats.Builder(new String[]{"FOO"}, false, false, false, 0) .setBatteryCapacity(4000) .setDischargePercentage(20) .setDischargedPowerRange(1000, 2000) @@ -182,8 +182,7 @@ public class BatteryUsageStatsPerfTest { .setTimeInProcessStateMs(UidBatteryConsumer.STATE_BACKGROUND, i * 1000); for (int componentId = 0; componentId < BatteryConsumer.POWER_COMPONENT_COUNT; componentId++) { - consumerBuilder.addConsumedPower(componentId, componentId * 123.0, - BatteryConsumer.POWER_MODEL_POWER_PROFILE); + consumerBuilder.addConsumedPower(componentId, componentId * 123.0); consumerBuilder.addUsageDurationMillis(componentId, componentId * 1000); } |