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

Commit ab5ca9f5 authored by jackqdyulei's avatar jackqdyulei
Browse files

Remove misc data in battery main page.

The removed types are:
1. DrainType.UNACCOUNTED
2. DrainType.OVERCOUNTED

This cl removes the above types in PowerUsageSummary and
PowerUsageAdvanced

Bug: 36874846
Test: RunSettingsRoboTests
Change-Id: I1807c44a2c0a9c2fa124cdef962a6411ae6830ca
parent 418e5bff
Loading
Loading
Loading
Loading
+22 −2
Original line number Diff line number Diff line
@@ -66,7 +66,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
            UsageType.USER,
            UsageType.IDLE,
            UsageType.APP,
            UsageType.UNACCOUNTED};
            UsageType.UNACCOUNTED,
            UsageType.OVERCOUNTED};
    private BatteryHistoryPreference mHistPref;
    private PreferenceGroup mUsageListGroup;
    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
@@ -169,6 +170,9 @@ public class PowerUsageAdvanced extends PowerUsageBase {
        mUsageListGroup.removeAll();
        for (int i = 0, size = dataList.size(); i < size; i++) {
            final PowerUsageData batteryData = dataList.get(i);
            if (shouldHide(batteryData)) {
                continue;
            }
            final PowerGaugePreference pref = new PowerGaugePreference(getPrefContext());

            pref.setKey(String.valueOf(batteryData.usageType));
@@ -199,6 +203,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
            return UsageType.CELL;
        } else if (drainType == DrainType.UNACCOUNTED) {
            return UsageType.UNACCOUNTED;
        } else if (drainType == DrainType.OVERCOUNTED) {
            return UsageType.OVERCOUNTED;
        } else if (mPowerUsageFeatureProvider.isTypeSystem(sipper)) {
            return UsageType.SYSTEM;
        } else if (mPowerUsageFeatureProvider.isTypeService(sipper)) {
@@ -208,6 +214,16 @@ public class PowerUsageAdvanced extends PowerUsageBase {
        }
    }

    @VisibleForTesting
    boolean shouldHide(PowerUsageData powerUsageData) {
        if (powerUsageData.usageType == UsageType.UNACCOUNTED
                || powerUsageData.usageType == UsageType.OVERCOUNTED) {
            return true;
        }

        return false;
    }

    @VisibleForTesting
    List<PowerUsageData> parsePowerUsageData(BatteryStatsHelper statusHelper) {
        final List<BatterySipper> batterySippers = statusHelper.getUsageList();
@@ -297,7 +313,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
                UsageType.BLUETOOTH,
                UsageType.USER,
                UsageType.IDLE,
                UsageType.UNACCOUNTED})
                UsageType.UNACCOUNTED,
                UsageType.OVERCOUNTED})
        public @interface UsageType {
            int APP = 0;
            int WIFI = 1;
@@ -308,6 +325,7 @@ public class PowerUsageAdvanced extends PowerUsageBase {
            int USER = 6;
            int IDLE = 7;
            int UNACCOUNTED = 8;
            int OVERCOUNTED = 9;
        }

        @StringRes
@@ -353,6 +371,8 @@ public class PowerUsageAdvanced extends PowerUsageBase {
                    return R.string.power_idle;
                case UsageType.UNACCOUNTED:
                    return R.string.power_unaccounted;
                case UsageType.OVERCOUNTED:
                    return R.string.power_overcounted;
                case UsageType.APP:
                default:
                    return R.string.power_apps;
+7 −1
Original line number Diff line number Diff line
@@ -599,6 +599,8 @@ public class PowerUsageSummary extends PowerUsageBase {
                || drainType == DrainType.WIFI
                || drainType == DrainType.SCREEN
                || drainType == DrainType.BLUETOOTH
                || drainType == DrainType.UNACCOUNTED
                || drainType == DrainType.OVERCOUNTED
                || (sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP
                || mPowerFeatureProvider.isTypeService(sipper)
                || mPowerFeatureProvider.isTypeSystem(sipper);
@@ -625,9 +627,13 @@ public class PowerUsageSummary extends PowerUsageBase {
            final BatterySipper sipper = sippers.get(i);
            if (shouldHideSipper(sipper)) {
                sippers.remove(i);
                if (sipper.drainType != DrainType.OVERCOUNTED
                        && sipper.drainType != DrainType.UNACCOUNTED) {
                    // Don't add it if it is overcounted or unaccounted
                    totalPowerMah += sipper.totalPowerMah;
                }
            }
        }

        return totalPowerMah;
    }
+24 −1
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ public class PowerUsageAdvancedTest {

        assertThat(usageTypeSet).asList().containsExactly(UsageType.APP, UsageType.WIFI,
                UsageType.CELL, UsageType.BLUETOOTH, UsageType.IDLE, UsageType.SERVICE,
                UsageType.USER, UsageType.SYSTEM, UsageType.UNACCOUNTED);
                UsageType.USER, UsageType.SYSTEM, UsageType.UNACCOUNTED, UsageType.OVERCOUNTED);
    }

    @Test
@@ -223,4 +223,27 @@ public class PowerUsageAdvancedTest {
            assertThat(dataList.get(i - 1).totalPowerMah).isAtLeast(dataList.get(i).totalPowerMah);
        }
    }

    @Test
    public void testShouldHide_typeUnAccounted_returnTrue() {
        mPowerUsageData.usageType = UsageType.UNACCOUNTED;

        assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isTrue();
    }


    @Test
    public void testShouldHide_typeOverCounted_returnTrue() {
        mPowerUsageData.usageType = UsageType.OVERCOUNTED;

        assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isTrue();
    }


    @Test
    public void testShouldHide_typeNormal_returnFalse() {
        mPowerUsageData.usageType = UsageType.APP;

        assertThat(mPowerUsageAdvanced.shouldHide(mPowerUsageData)).isFalse();
    }
}
+19 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ public class PowerUsageSummaryTest {
    private static final double TOTAL_POWER = 200;
    private static final double BATTERY_SCREEN_USAGE = 300;
    private static final double BATTERY_SYSTEM_USAGE = 600;
    private static final double BATTERY_OVERCOUNTED_USAGE = 500;
    private static final double PRECISION = 0.001;
    private static final double POWER_USAGE_PERCENTAGE = 50;
    private static final Intent ADDITIONAL_BATTERY_INFO_INTENT =
@@ -112,6 +113,8 @@ public class PowerUsageSummaryTest {
    @Mock
    private BatterySipper mScreenBatterySipper;
    @Mock
    private BatterySipper mOvercountedBatterySipper;
    @Mock
    private BatterySipper mSystemBatterySipper;
    @Mock
    private BatterySipper mCellBatterySipper;
@@ -188,6 +191,9 @@ public class PowerUsageSummaryTest {
        mSystemBatterySipper.totalPowerMah = BATTERY_SYSTEM_USAGE;
        when(mSystemBatterySipper.getUid()).thenReturn(Process.SYSTEM_UID);

        mOvercountedBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED;
        mOvercountedBatterySipper.totalPowerMah = BATTERY_OVERCOUNTED_USAGE;

        mUsageList = new ArrayList<>();
        mUsageList.add(mNormalBatterySipper);
        mUsageList.add(mScreenBatterySipper);
@@ -303,6 +309,7 @@ public class PowerUsageSummaryTest {
        sippers.add(mNormalBatterySipper);
        sippers.add(mScreenBatterySipper);
        sippers.add(mSystemBatterySipper);
        sippers.add(mOvercountedBatterySipper);
        when(mFeatureFactory.powerUsageFeatureProvider.isTypeSystem(mSystemBatterySipper))
                .thenReturn(true);

@@ -317,6 +324,18 @@ public class PowerUsageSummaryTest {
        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

    @Test
    public void testShouldHideSipper_TypeUnAccounted_ReturnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.UNACCOUNTED;
        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

    @Test
    public void testShouldHideSipper_TypeOverCounted_ReturnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.OVERCOUNTED;
        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

    @Test
    public void testShouldHideSipper_typeWifi_returnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.WIFI;