From a396885f5e332767ed4456b4ffe95ad1591b0d82 Mon Sep 17 00:00:00 2001 From: Kuan Wang Date: Wed, 11 Jan 2023 11:34:09 +0800 Subject: [PATCH] Adjust background time to avoid background + screen time larger than time slot duration. Test: make RunSettingsRoboTests Bug: 265089855 Fix: 265089855 Change-Id: Idf3fee13eccd5b1f699feb5f79bd2aa474e444b8 --- .../android/settings/fuelgauge/batteryusage/DataProcessor.java | 3 +++ .../settings/fuelgauge/batteryusage/DataProcessorTest.java | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java index 649adbe8069..8db324b1046 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java +++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java @@ -1547,6 +1547,9 @@ public final class DataProcessor { appUsageMap, selectedBatteryEntry.mUserId, selectedBatteryEntry.mPackageName)); + // Make sure the background + screen-on time will not exceed the threshold. + backgroundUsageTimeInMs = Math.min( + backgroundUsageTimeInMs, (long) TOTAL_HOURLY_TIME_THRESHOLD - screenOnTime); final BatteryDiffEntry currentBatteryDiffEntry = new BatteryDiffEntry( context, foregroundUsageTimeInMs, diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java index a1caa2c88a9..b2c658302a5 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java @@ -1149,7 +1149,7 @@ public final class DataProcessorTest { assertThat(resultEntry.mForegroundUsageTimeInMs) .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio)); assertThat(resultEntry.mBackgroundUsageTimeInMs) - .isEqualTo(Math.round(entry.mBackgroundUsageTimeInMs * ratio)); + .isEqualTo(0); assertThat(resultEntry.mConsumePower) .isEqualTo(entry.mConsumePower * ratio); assertThat(resultEntry.mForegroundUsageConsumePower)