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

Commit 77deb463 authored by Wesley Wang's avatar Wesley Wang
Browse files

Update battery settings remaining time format

 - Update the remaining time format to align with status bar
 - Remove unused test case since no more less than 7 or 15 remaining time
   case for battery settings
 screenshots:
   https://screenshot.googleplex.com/8jPYPj7yznGFU4b.png
   https://screenshot.googleplex.com/5GYXA2tusSUVmVQ.png
   https://screenshot.googleplex.com/3EnB3ejAxAzP28q.png
   https://screenshot.googleplex.com/5jeUxwBEyHotf9d.png

Bug: 281685505
Test: make SettingsLibRoboTests
Change-Id: If33e1828582845f78d8ef666c2b74ab5bba22357
parent 0af8c603
Loading
Loading
Loading
Loading
+3 −10
Original line number Diff line number Diff line
@@ -322,18 +322,11 @@ public class BatteryInfo {
        final long drainTimeUs = PowerUtil.convertMsToUs(estimate.getEstimateMillis());
        if (drainTimeUs > 0) {
            info.remainingTimeUs = drainTimeUs;
            info.remainingLabel = PowerUtil.getBatteryRemainingStringFormatted(
            info.remainingLabel = PowerUtil.getBatteryRemainingShortStringFormatted(
                    context,
                    PowerUtil.convertUsToMs(drainTimeUs),
                    null /* percentageString */,
                    false /* basedOnUsage */
            );
            info.chargeLabel = PowerUtil.getBatteryRemainingStringFormatted(
                    context,
                    PowerUtil.convertUsToMs(drainTimeUs),
                    info.batteryPercentString,
                    estimate.isBasedOnUsage() && !shortString
                    PowerUtil.convertUsToMs(drainTimeUs)
            );
            info.chargeLabel = info.remainingLabel;
            info.suggestionLabel = PowerUtil.getBatteryTipStringFormatted(
                    context, PowerUtil.convertUsToMs(drainTimeUs));
        } else {
+0 −40
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@ import com.android.internal.os.BatteryStatsHistoryIterator;
import com.android.settings.testutils.BatteryTestUtils;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settings.widget.UsageView;
import com.android.settingslib.R;
import com.android.settingslib.fuelgauge.Estimate;

import org.junit.Before;
@@ -163,26 +162,6 @@ public class BatteryInfoTest {
        assertThat(info2.suggestionLabel).contains(BATTERY_RUN_OUT_PREFIX);
    }

    @Test
    public void testGetBatteryInfo_basedOnUsageTrueLessThanSevenMinutes_usesCorrectString() {
        Estimate estimate = new Estimate(Duration.ofMinutes(7).toMillis(),
                true /* isBasedOnUsage */,
                1000 /* averageDischargeTime */);
        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
                false /* shortString */);
        BatteryInfo info2 = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
                true /* shortString */);

        // These should be identical in either case
        assertThat(info.remainingLabel.toString()).isEqualTo(
                mContext.getString(R.string.power_remaining_duration_only_shutdown_imminent));
        assertThat(info2.remainingLabel.toString()).isEqualTo(
                mContext.getString(R.string.power_remaining_duration_only_shutdown_imminent));
        assertThat(info2.suggestionLabel).contains(BATTERY_RUN_OUT_PREFIX);
    }

    @Test
    @Ignore
    public void getBatteryInfo_MoreThanOneDay_suggestionLabelIsCorrectString() {
@@ -196,25 +175,6 @@ public class BatteryInfoTest {
        assertThat(info.suggestionLabel).doesNotContain(BATTERY_RUN_OUT_PREFIX);
    }

    @Test
    public void
    testGetBatteryInfo_basedOnUsageTrueBetweenSevenAndFifteenMinutes_usesCorrectString() {
        Estimate estimate = new Estimate(Duration.ofMinutes(10).toMillis(),
                true /* isBasedOnUsage */,
                1000 /* averageDischargeTime */);
        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
                false /* shortString */);

        // Check that strings are showing less than 15 minutes remaining regardless of exact time.
        assertThat(info.chargeLabel.toString()).isEqualTo(
                mContext.getString(R.string.power_remaining_less_than_duration,
                        FIFTEEN_MIN_FORMATTED, TEST_BATTERY_LEVEL_10));
        assertThat(info.remainingLabel.toString()).isEqualTo(
                mContext.getString(R.string.power_remaining_less_than_duration_only,
                        FIFTEEN_MIN_FORMATTED));
    }

    @Test
    public void testGetBatteryInfo_basedOnUsageFalse_usesDefaultString() {
        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,