[Battery usage U] For system comsumed power, use device comsumed power directly instead of removing app comsumed power from it.
Bug: 261826748 Fix: 261826748 Test: manual Change-Id: Iab6eed4339fabe342835a020cadae11e6256be20
This commit is contained in:
@@ -200,16 +200,13 @@ public class BatteryEntry {
|
|||||||
|
|
||||||
/** Battery entry for a power component of AggregateBatteryConsumer */
|
/** Battery entry for a power component of AggregateBatteryConsumer */
|
||||||
public BatteryEntry(Context context, int powerComponentId, double devicePowerMah,
|
public BatteryEntry(Context context, int powerComponentId, double devicePowerMah,
|
||||||
double appsPowerMah, long usageDurationMs) {
|
long usageDurationMs) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mBatteryConsumer = null;
|
mBatteryConsumer = null;
|
||||||
mUid = Process.INVALID_UID;
|
mUid = Process.INVALID_UID;
|
||||||
mIsHidden = false;
|
mIsHidden = false;
|
||||||
mPowerComponentId = powerComponentId;
|
mPowerComponentId = powerComponentId;
|
||||||
mConsumedPower =
|
mConsumedPower = devicePowerMah;
|
||||||
powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
|
|
||||||
? devicePowerMah
|
|
||||||
: devicePowerMah - appsPowerMah;
|
|
||||||
mUsageDurationMs = usageDurationMs;
|
mUsageDurationMs = usageDurationMs;
|
||||||
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
|
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
|
||||||
|
|
||||||
@@ -224,7 +221,7 @@ public class BatteryEntry {
|
|||||||
|
|
||||||
/** Battery entry for a custom power component of AggregateBatteryConsumer */
|
/** Battery entry for a custom power component of AggregateBatteryConsumer */
|
||||||
public BatteryEntry(Context context, int powerComponentId, String powerComponentName,
|
public BatteryEntry(Context context, int powerComponentId, String powerComponentName,
|
||||||
double devicePowerMah, double appsPowerMah) {
|
double devicePowerMah) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mBatteryConsumer = null;
|
mBatteryConsumer = null;
|
||||||
mUid = Process.INVALID_UID;
|
mUid = Process.INVALID_UID;
|
||||||
@@ -234,10 +231,7 @@ public class BatteryEntry {
|
|||||||
mIconId = R.drawable.ic_power_system;
|
mIconId = R.drawable.ic_power_system;
|
||||||
mIcon = context.getDrawable(mIconId);
|
mIcon = context.getDrawable(mIconId);
|
||||||
mName = powerComponentName;
|
mName = powerComponentName;
|
||||||
mConsumedPower =
|
mConsumedPower = devicePowerMah;
|
||||||
powerComponentId == BatteryConsumer.POWER_COMPONENT_SCREEN
|
|
||||||
? devicePowerMah
|
|
||||||
: devicePowerMah - appsPowerMah;
|
|
||||||
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
|
mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -1243,14 +1243,11 @@ public final class DataProcessor {
|
|||||||
|
|
||||||
final BatteryConsumer deviceConsumer = batteryUsageStats.getAggregateBatteryConsumer(
|
final BatteryConsumer deviceConsumer = batteryUsageStats.getAggregateBatteryConsumer(
|
||||||
BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE);
|
BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE);
|
||||||
final BatteryConsumer appsConsumer = batteryUsageStats.getAggregateBatteryConsumer(
|
|
||||||
BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_ALL_APPS);
|
|
||||||
|
|
||||||
for (int componentId = 0; componentId < BatteryConsumer.POWER_COMPONENT_COUNT;
|
for (int componentId = 0; componentId < BatteryConsumer.POWER_COMPONENT_COUNT;
|
||||||
componentId++) {
|
componentId++) {
|
||||||
results.add(new BatteryEntry(context, componentId,
|
results.add(new BatteryEntry(context, componentId,
|
||||||
deviceConsumer.getConsumedPower(componentId),
|
deviceConsumer.getConsumedPower(componentId),
|
||||||
appsConsumer.getConsumedPower(componentId),
|
|
||||||
deviceConsumer.getUsageDurationMillis(componentId)));
|
deviceConsumer.getUsageDurationMillis(componentId)));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1260,8 +1257,7 @@ public final class DataProcessor {
|
|||||||
componentId++) {
|
componentId++) {
|
||||||
results.add(new BatteryEntry(context, componentId,
|
results.add(new BatteryEntry(context, componentId,
|
||||||
deviceConsumer.getCustomPowerComponentName(componentId),
|
deviceConsumer.getCustomPowerComponentName(componentId),
|
||||||
deviceConsumer.getConsumedPowerForCustomComponent(componentId),
|
deviceConsumer.getConsumedPowerForCustomComponent(componentId)));
|
||||||
appsConsumer.getConsumedPowerForCustomComponent(componentId)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final List<UserBatteryConsumer> userBatteryConsumers =
|
final List<UserBatteryConsumer> userBatteryConsumers =
|
||||||
|
@@ -104,11 +104,19 @@ public class BatteryEntryTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private BatteryEntry createAggregateBatteryEntry(int powerComponentId) {
|
private BatteryEntry createAggregateBatteryEntry(int powerComponentId) {
|
||||||
return new BatteryEntry(mMockContext, powerComponentId, 200, 100, 1000);
|
return new BatteryEntry(
|
||||||
|
mMockContext,
|
||||||
|
powerComponentId,
|
||||||
|
/* devicePowerMah= */ 200,
|
||||||
|
/* usageDurationMs= */ 1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BatteryEntry createCustomAggregateBatteryEntry(int powerComponentId) {
|
private BatteryEntry createCustomAggregateBatteryEntry(int powerComponentId) {
|
||||||
return new BatteryEntry(mMockContext, powerComponentId, "CUSTOM", 200, 100);
|
return new BatteryEntry(
|
||||||
|
mMockContext,
|
||||||
|
powerComponentId,
|
||||||
|
/* powerComponentName= */ "CUSTOM",
|
||||||
|
/* devicePowerMah= */ 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
private BatteryEntry createUserBatteryConsumer(int userId) {
|
private BatteryEntry createUserBatteryConsumer(int userId) {
|
||||||
@@ -159,7 +167,9 @@ public class BatteryEntryTest {
|
|||||||
@Test
|
@Test
|
||||||
public void batteryEntryForAOD_containCorrectInfo() {
|
public void batteryEntryForAOD_containCorrectInfo() {
|
||||||
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
||||||
BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY, 200, 100, 1000);
|
BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
|
||||||
|
/* devicePowerMah= */ 200,
|
||||||
|
/* usageDurationMs= */ 1000);
|
||||||
|
|
||||||
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_settings_aod);
|
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_settings_aod);
|
||||||
assertThat(entry.mName).isEqualTo("Ambient display");
|
assertThat(entry.mName).isEqualTo("Ambient display");
|
||||||
@@ -168,7 +178,9 @@ public class BatteryEntryTest {
|
|||||||
@Test
|
@Test
|
||||||
public void batteryEntryForCustomComponent_containCorrectInfo() {
|
public void batteryEntryForCustomComponent_containCorrectInfo() {
|
||||||
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
||||||
BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42, "ABC", 200, 100);
|
BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42,
|
||||||
|
/* powerComponentName= */ "ABC",
|
||||||
|
/* devicePowerMah= */ 200);
|
||||||
|
|
||||||
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_power_system);
|
assertThat(entry.mIconId).isEqualTo(R.drawable.ic_power_system);
|
||||||
assertThat(entry.mName).isEqualTo("ABC");
|
assertThat(entry.mName).isEqualTo("ABC");
|
||||||
@@ -188,7 +200,9 @@ public class BatteryEntryTest {
|
|||||||
@Test
|
@Test
|
||||||
public void getTimeInForegroundMs_aggregateBatteryConsumer() {
|
public void getTimeInForegroundMs_aggregateBatteryConsumer() {
|
||||||
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
||||||
BatteryConsumer.POWER_COMPONENT_BLUETOOTH, 10, 20, 100);
|
BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
|
||||||
|
/* devicePowerMah= */ 10,
|
||||||
|
/* usageDurationMs= */ 100);
|
||||||
|
|
||||||
assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
|
assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
|
||||||
}
|
}
|
||||||
@@ -207,7 +221,9 @@ public class BatteryEntryTest {
|
|||||||
@Test
|
@Test
|
||||||
public void getTimeInBackgroundMs_systemConsumer() {
|
public void getTimeInBackgroundMs_systemConsumer() {
|
||||||
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
|
||||||
BatteryConsumer.POWER_COMPONENT_BLUETOOTH, 100, 200, 1000);
|
BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
|
||||||
|
/* devicePowerMah= */ 100,
|
||||||
|
/* usageDurationMs= */ 1000);
|
||||||
|
|
||||||
assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);
|
assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user