From 52672ca34b93618a6ec707f37dbe7ab40b77bafe Mon Sep 17 00:00:00 2001 From: mxyyiyi Date: Tue, 2 Apr 2024 14:19:08 +0800 Subject: [PATCH] Fix summary for system components which 30 sec <= usage time < 1 min. - formatElapsedTimeWithoutComma(withSecords = false,) will round up minutes by adding 30 seconds. https://screenshot.googleplex.com/8HrDpLi8FX8tjJy Bug: 321265878 Test: Manual Change-Id: I779bd7c33bbb3aefa0a88f6ba42d047259bc50cc --- src/com/android/settings/fuelgauge/BatteryUtils.java | 2 +- .../BatteryUsageBreakdownControllerTest.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java index f846a6c15b7..767f2c01881 100644 --- a/src/com/android/settings/fuelgauge/BatteryUtils.java +++ b/src/com/android/settings/fuelgauge/BatteryUtils.java @@ -670,7 +670,7 @@ public class BatteryUtils { long timeInMs, final int lessThanOneMinuteResId, final int normalResId) { - if (timeInMs < DateUtils.MINUTE_IN_MILLIS) { + if (timeInMs <= DateUtils.MINUTE_IN_MILLIS / 2) { return context.getString(lessThanOneMinuteResId); } final CharSequence timeSequence = diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java index 9dac9d5e377..7dcbe3a5ab7 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java @@ -57,6 +57,7 @@ public final class BatteryUsageBreakdownControllerTest { private static final String PREF_KEY = "pref_key"; private static final String PREF_KEY2 = "pref_key2"; private static final String PREF_SUMMARY = "fake preference summary"; + private static final long TIME_LESS_THAN_HALF_MINUTE = DateUtils.MINUTE_IN_MILLIS / 2 - 1; @Mock private InstrumentedPreferenceFragment mFragment; @Mock private SettingsActivity mSettingsActivity; @@ -332,7 +333,7 @@ public final class BatteryUsageBreakdownControllerTest { createBatteryDiffEntry( /* isSystem= */ true, /* screenOnTimeInMs= */ 0, - /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1, + /* foregroundUsageTimeInMs= */ TIME_LESS_THAN_HALF_MINUTE, /* foregroundServiceUsageTimeInMs= */ 0, /* backgroundUsageTimeInMs= */ 0)); assertThat(pref.getSummary().toString()).isEqualTo("Total: less than a minute"); @@ -427,10 +428,10 @@ public final class BatteryUsageBreakdownControllerTest { pref, createBatteryDiffEntry( /* isSystem= */ false, - /* screenOnTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1, - /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1, + /* screenOnTimeInMs= */ TIME_LESS_THAN_HALF_MINUTE, + /* foregroundUsageTimeInMs= */ TIME_LESS_THAN_HALF_MINUTE, /* foregroundServiceUsageTimeInMs= */ 0, - /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1)); + /* backgroundUsageTimeInMs= */ TIME_LESS_THAN_HALF_MINUTE)); assertThat(pref.getSummary().toString()) .isEqualTo("Screen time: less than a minute\nBackground: less than a minute"); }