diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 0b21fc994b4..805eedbcc72 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -494,7 +494,7 @@ public class PowerUsageSummary extends PowerUsageBase { sipper.usageTimeMs = mBatteryUtils.getProcessTimeMs( BatteryUtils.StatusType.FOREGROUND, sipper.uidObj, mStatsType); } - setUsageSummary(pref, sipper.usageTimeMs); + setUsageSummary(pref, sipper); if ((sipper.drainType != DrainType.APP || sipper.uidObj.getUid() == Process.ROOT_UID) && sipper.drainType != DrainType.USER) { @@ -560,12 +560,13 @@ public class PowerUsageSummary extends PowerUsageBase { } @VisibleForTesting - void setUsageSummary(Preference preference, long usageTimeMs) { + void setUsageSummary(Preference preference, BatterySipper sipper) { // Only show summary when usage time is longer than one minute + final long usageTimeMs = sipper.usageTimeMs; if (usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) { final CharSequence timeSequence = Utils.formatElapsedTime(getContext(), usageTimeMs, false); - preference.setSummary( + preference.setSummary(mBatteryUtils.shouldHideSipper(sipper) ? timeSequence : TextUtils.expandTemplate(getText(R.string.battery_screen_usage), timeSequence)); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java index ea6c7e67b01..f9c313e00e3 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java @@ -301,21 +301,33 @@ public class PowerUsageSummaryTest { @Test public void testSetUsageSummary_timeLessThanOneMinute_DoNotSetSummary() { - final long usageTimeMs = 59 * DateUtils.SECOND_IN_MILLIS; + mNormalBatterySipper.usageTimeMs = 59 * DateUtils.SECOND_IN_MILLIS; - mFragment.setUsageSummary(mPreference, usageTimeMs); + mFragment.setUsageSummary(mPreference, mNormalBatterySipper); assertThat(mPreference.getSummary()).isNull(); } @Test - public void testSetUsageSummary_timeMoreThanOneMinute_setSummary() { - final long usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS; + public void testSetUsageSummary_timeMoreThanOneMinute_normalApp_setScreenSummary() { + mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS; doReturn(mRealContext.getText(R.string.battery_screen_usage)).when(mFragment).getText( R.string.battery_screen_usage); doReturn(mRealContext).when(mFragment).getContext(); final String expectedSummary = "Screen usage 2m"; - mFragment.setUsageSummary(mPreference, usageTimeMs); + mFragment.setUsageSummary(mPreference, mNormalBatterySipper); + + assertThat(mPreference.getSummary().toString()).isEqualTo(expectedSummary); + } + + @Test + public void testSetUsageSummary_timeMoreThanOneMinute_hiddenApp_setUsedSummary() { + mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS; + doReturn(true).when(mFragment.mBatteryUtils).shouldHideSipper(mNormalBatterySipper); + doReturn(mRealContext).when(mFragment).getContext(); + final String expectedSummary = "2m"; + + mFragment.setUsageSummary(mPreference, mNormalBatterySipper); assertThat(mPreference.getSummary().toString()).isEqualTo(expectedSummary); }