Adjust consumed power for SystemBatteryConsumers

The implementations of getConsumedPower() now consistently returns
the total power consumed, not the power unattributed to apps.

Bug: 183235836
Test: make RunSettingsRoboTests
Test: make RunSettingsGoogleRoboTests

Change-Id: I9ea1592581b50d1533b00c28c9db4eab1e88edac
This commit is contained in:
Dmitri Plotnikov
2021-03-21 16:45:55 -07:00
parent 448dac80de
commit e02d6efe85

View File

@@ -155,9 +155,10 @@ public class BatteryEntry {
mBatteryConsumer = batteryConsumer;
mIsHidden = isHidden;
mDefaultPackageName = packageName;
mConsumedPower = batteryConsumer.getConsumedPower();
if (batteryConsumer instanceof UidBatteryConsumer) {
mConsumedPower = batteryConsumer.getConsumedPower();
UidBatteryConsumer uidBatteryConsumer = (UidBatteryConsumer) batteryConsumer;
int uid = uidBatteryConsumer.getUid();
if (mDefaultPackageName == null) {
@@ -183,11 +184,15 @@ public class BatteryEntry {
getQuickNameIconForUid(uid, packages);
return;
} else if (batteryConsumer instanceof SystemBatteryConsumer) {
mConsumedPower = batteryConsumer.getConsumedPower()
- ((SystemBatteryConsumer) batteryConsumer).getPowerConsumedByApps();
final Pair<Integer, String> resourcePair = getResourcePairFromDrainType(
context, ((SystemBatteryConsumer) batteryConsumer).getDrainType());
iconId = resourcePair.first;
name = resourcePair.second;
} else if (batteryConsumer instanceof UserBatteryConsumer) {
mConsumedPower = batteryConsumer.getConsumedPower();
UserInfo info = um.getUserInfo(((UserBatteryConsumer) batteryConsumer).getUserId());
if (info != null) {
icon = Utils.getUserIcon(context, um, info);