Adjust background time to avoid background + screen time larger than

time slot duration.

Test: make RunSettingsRoboTests
Bug: 265089855
Fix: 265089855
Change-Id: Idf3fee13eccd5b1f699feb5f79bd2aa474e444b8
This commit is contained in:
Kuan Wang
2023-01-11 11:34:09 +08:00
parent dc8f967315
commit a396885f5e
2 changed files with 4 additions and 1 deletions

View File

@@ -1547,6 +1547,9 @@ public final class DataProcessor {
appUsageMap, appUsageMap,
selectedBatteryEntry.mUserId, selectedBatteryEntry.mUserId,
selectedBatteryEntry.mPackageName)); 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( final BatteryDiffEntry currentBatteryDiffEntry = new BatteryDiffEntry(
context, context,
foregroundUsageTimeInMs, foregroundUsageTimeInMs,

View File

@@ -1149,7 +1149,7 @@ public final class DataProcessorTest {
assertThat(resultEntry.mForegroundUsageTimeInMs) assertThat(resultEntry.mForegroundUsageTimeInMs)
.isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio)); .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
assertThat(resultEntry.mBackgroundUsageTimeInMs) assertThat(resultEntry.mBackgroundUsageTimeInMs)
.isEqualTo(Math.round(entry.mBackgroundUsageTimeInMs * ratio)); .isEqualTo(0);
assertThat(resultEntry.mConsumePower) assertThat(resultEntry.mConsumePower)
.isEqualTo(entry.mConsumePower * ratio); .isEqualTo(entry.mConsumePower * ratio);
assertThat(resultEntry.mForegroundUsageConsumePower) assertThat(resultEntry.mForegroundUsageConsumePower)