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
This commit is contained in:
mxyyiyi
2024-04-02 14:10:28 +08:00
parent b9c1632a5f
commit 077158e2a6

View File

@@ -150,7 +150,10 @@ public class BatteryDiffData {
final Iterator<BatteryDiffEntry> 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;