From e02d6efe854f1b2101006e6c35f85b7b0c2ae560 Mon Sep 17 00:00:00 2001 From: Dmitri Plotnikov Date: Sun, 21 Mar 2021 16:45:55 -0700 Subject: [PATCH] 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 --- src/com/android/settings/fuelgauge/BatteryEntry.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/BatteryEntry.java b/src/com/android/settings/fuelgauge/BatteryEntry.java index 6c3add3f366..09380ff5590 100644 --- a/src/com/android/settings/fuelgauge/BatteryEntry.java +++ b/src/com/android/settings/fuelgauge/BatteryEntry.java @@ -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 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);