From 077158e2a6a2300b68c97391e4fb569e187ba35e Mon Sep 17 00:00:00 2001 From: mxyyiyi Date: Tue, 2 Apr 2024 14:10:28 +0800 Subject: [PATCH] Fix purge condition for system component in BatteryDiffData. - System component do not have screen-on-time, use foreground usage time (also the mUsageDurationMs in BatteryEntry). Bug: 321265878 Test: Manual Change-Id: I8e9d60b1953fe4b0aaf42380b0fdadb75b191479 --- .../settings/fuelgauge/batteryusage/BatteryDiffData.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java index eebf1f5915a..7ea7203a332 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java @@ -150,7 +150,10 @@ public class BatteryDiffData { final Iterator iterator = entries.iterator(); while (iterator.hasNext()) { final BatteryDiffEntry entry = iterator.next(); - final long screenOnTimeInMs = entry.mScreenOnTimeInMs; + final long screenOnTimeInMs = + entry.isSystemEntry() + ? entry.mForegroundUsageTimeInMs + : entry.mScreenOnTimeInMs; final double comsumePower = entry.mConsumePower; final String packageName = entry.getPackageName(); final Integer componentId = entry.mComponentId;