Hide bluetooth and media in battery settings page.
Media is a bundled process which contains the following packages: com.android.providers.downloads com.android.mtp com.android.providers.media com.android.providers.downloads.ui This cl moves them to advanced battery page. 1. Bluetooth lives in category bluetooth 2. Media lives in category system Bug: 35811926 Test: RunSettingsRoboTests Change-Id: Ie229fa15e2e62b67d571988f7f4e7788a665bcdd
This commit is contained in:
@@ -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
|
||||
|
@@ -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);
|
||||
|
@@ -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;
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user