Loading src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +11 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading src/com/android/settings/fuelgauge/PowerUsageSummary.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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); } Loading Loading @@ -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; Loading tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -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; Loading Loading
src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +11 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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 Loading
src/com/android/settings/fuelgauge/PowerUsageSummary.java +1 −1 Original line number Diff line number Diff line Loading @@ -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); Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java +12 −1 Original line number Diff line number Diff line Loading @@ -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 Loading @@ -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); } Loading Loading @@ -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; Loading
tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java +6 −0 Original line number Diff line number Diff line Loading @@ -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; Loading