Merge "Update subtitle for apps in battery settings" into oc-dev

am: 031b90541f

Change-Id: I7ec1ee37eb42d5523502ae3a17694f61ea6197ba
This commit is contained in:
jackqdyulei
2017-06-09 02:57:46 +00:00
committed by android-build-merger
2 changed files with 21 additions and 8 deletions

View File

@@ -494,7 +494,7 @@ public class PowerUsageSummary extends PowerUsageBase {
sipper.usageTimeMs = mBatteryUtils.getProcessTimeMs( sipper.usageTimeMs = mBatteryUtils.getProcessTimeMs(
BatteryUtils.StatusType.FOREGROUND, sipper.uidObj, mStatsType); BatteryUtils.StatusType.FOREGROUND, sipper.uidObj, mStatsType);
} }
setUsageSummary(pref, sipper.usageTimeMs); setUsageSummary(pref, sipper);
if ((sipper.drainType != DrainType.APP if ((sipper.drainType != DrainType.APP
|| sipper.uidObj.getUid() == Process.ROOT_UID) || sipper.uidObj.getUid() == Process.ROOT_UID)
&& sipper.drainType != DrainType.USER) { && sipper.drainType != DrainType.USER) {
@@ -560,12 +560,13 @@ public class PowerUsageSummary extends PowerUsageBase {
} }
@VisibleForTesting @VisibleForTesting
void setUsageSummary(Preference preference, long usageTimeMs) { void setUsageSummary(Preference preference, BatterySipper sipper) {
// Only show summary when usage time is longer than one minute // Only show summary when usage time is longer than one minute
final long usageTimeMs = sipper.usageTimeMs;
if (usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) { if (usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) {
final CharSequence timeSequence = Utils.formatElapsedTime(getContext(), usageTimeMs, final CharSequence timeSequence = Utils.formatElapsedTime(getContext(), usageTimeMs,
false); false);
preference.setSummary( preference.setSummary(mBatteryUtils.shouldHideSipper(sipper) ? timeSequence :
TextUtils.expandTemplate(getText(R.string.battery_screen_usage), timeSequence)); TextUtils.expandTemplate(getText(R.string.battery_screen_usage), timeSequence));
} }
} }

View File

@@ -301,21 +301,33 @@ public class PowerUsageSummaryTest {
@Test @Test
public void testSetUsageSummary_timeLessThanOneMinute_DoNotSetSummary() { 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(); assertThat(mPreference.getSummary()).isNull();
} }
@Test @Test
public void testSetUsageSummary_timeMoreThanOneMinute_setSummary() { public void testSetUsageSummary_timeMoreThanOneMinute_normalApp_setScreenSummary() {
final long usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS; mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
doReturn(mRealContext.getText(R.string.battery_screen_usage)).when(mFragment).getText( doReturn(mRealContext.getText(R.string.battery_screen_usage)).when(mFragment).getText(
R.string.battery_screen_usage); R.string.battery_screen_usage);
doReturn(mRealContext).when(mFragment).getContext(); doReturn(mRealContext).when(mFragment).getContext();
final String expectedSummary = "Screen usage 2m"; 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); assertThat(mPreference.getSummary().toString()).isEqualTo(expectedSummary);
} }