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

Commit 8f7cefe7 authored by Lei Yu's avatar Lei Yu Committed by Android (Google) Code Review
Browse files

Merge "Hide bluetooth and media in battery settings page."

parents afb57ecc 44e89686
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -26,6 +26,9 @@ import com.android.internal.util.ArrayUtils;
public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider {

    private static final String PACKAGE_CALENDAR_PROVIDER = "com.android.providers.calendar";
    private static final String PACKAGE_MEDIA_PROVIDER = "com.android.providers.media";
    private static final String[] PACKAGES_SYSTEM = {PACKAGE_MEDIA_PROVIDER,
            PACKAGE_CALENDAR_PROVIDER};

    protected PackageManager mPackageManager;

@@ -45,9 +48,15 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
        // Classify all the sippers to type system if the range of uid is 0...FIRST_APPLICATION_UID
        if (uid >= Process.ROOT_UID && uid < Process.FIRST_APPLICATION_UID) {
            return true;
        } else {
            return ArrayUtils.contains(sipper.mPackages, PACKAGE_CALENDAR_PROVIDER);
        } else if (sipper.mPackages != null) {
            for (final String packageName : sipper.mPackages) {
                if (ArrayUtils.contains(PACKAGES_SYSTEM, packageName)) {
                    return true;
                }
            }
        }

        return false;
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -581,7 +581,7 @@ public class PowerUsageSummary extends PowerUsageBase {
        final DrainType drainType = sipper.drainType;

        return drainType == DrainType.IDLE || drainType == DrainType.CELL
                || drainType == DrainType.SCREEN
                || drainType == DrainType.SCREEN || drainType == DrainType.BLUETOOTH
                || (sipper.totalPowerMah * SECONDS_IN_HOUR) < MIN_POWER_THRESHOLD_MILLI_AMP
                || mPowerFeatureProvider.isTypeService(sipper)
                || mPowerFeatureProvider.isTypeSystem(sipper);
+12 −1
Original line number Diff line number Diff line
@@ -35,9 +35,11 @@ import static com.google.common.truth.Truth.assertThat;
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class PowerUsageFeatureProviderImplTest {
    private static final int UID_CALENDAR = 1234;
    private static final int UID_OTHER = Process.FIRST_APPLICATION_UID + 2;
    private static final int UID_CALENDAR = Process.FIRST_APPLICATION_UID + 3;
    private static final int UID_MEDIA = Process.FIRST_APPLICATION_UID + 4;
    private static final String[] PACKAGES_CALENDAR = {"com.android.providers.calendar"};
    private static final String[] PACKAGES_MEDIA = {"com.android.providers.media"};
    @Mock
    private Context mContext;
    @Mock
@@ -52,6 +54,7 @@ public class PowerUsageFeatureProviderImplTest {

        mPowerFeatureProvider = new PowerUsageFeatureProviderImpl(mContext);
        when(mPackageManager.getPackagesForUid(UID_CALENDAR)).thenReturn(PACKAGES_CALENDAR);
        when(mPackageManager.getPackagesForUid(UID_MEDIA)).thenReturn(PACKAGES_MEDIA);
        mPowerFeatureProvider.mPackageManager = mPackageManager;
        mBatterySipper.uidObj = new FakeUid(UID_OTHER);
    }
@@ -88,6 +91,14 @@ public class PowerUsageFeatureProviderImplTest {
        assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
    }

    @Test
    public void testIsTypeSystem_AppMedia_ReturnTrue() {
        mBatterySipper.drainType = BatterySipper.DrainType.APP;
        when(mBatterySipper.getUid()).thenReturn(UID_MEDIA);

        assertThat(mPowerFeatureProvider.isTypeSystem(mBatterySipper)).isTrue();
    }

    @Test
    public void testIsTypeSystem_UidOther_ReturnFalse() {
        mBatterySipper.drainType = BatterySipper.DrainType.APP;
+6 −0
Original line number Diff line number Diff line
@@ -291,6 +291,12 @@ public class PowerUsageSummaryTest {
        assertThat(mFragment.shouldHideSipper(mNormalBatterySipper)).isTrue();
    }

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

    @Test
    public void testShouldHideSipper_TypeSystem_ReturnTrue() {
        mNormalBatterySipper.drainType = BatterySipper.DrainType.APP;