Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dcea4e89 authored by jackqdyulei's avatar jackqdyulei
Browse files

Update subtitle for apps in battery settings

1. If it is a normal app, show "Screen usage TIME"
2. If it is a hidden app, show "TIME"

Note that in this case the item screen will show "TIME"

Bug: 62422404
Test: RunSettingsRoboTests
Change-Id: Ie8d6caf998d18994ac158f0217109c0e5e9f92ba
parent 85395155
Loading
Loading
Loading
Loading
+4 −3
Original line number Original line Diff line number Diff line
@@ -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));
        }
        }
    }
    }
+17 −5
Original line number Original line Diff line number Diff line
@@ -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);
    }
    }