OSDN Git Service

Hide preference when no app restricted
authorLei Yu <jackqdyulei@google.com>
Mon, 9 Apr 2018 18:25:31 +0000 (11:25 -0700)
committerLei Yu <jackqdyulei@google.com>
Mon, 9 Apr 2018 19:23:52 +0000 (12:23 -0700)
Change-Id: I37135bce5354ce7380441f86f94cb79d89cc500c
Fixes: 77799629
Test: RunSettingsRoboTests

src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java

index fce8a65..7fdf829 100644 (file)
@@ -72,8 +72,8 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
         mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
 
         final int num = mAppInfos.size();
-        // Enable the preference if some apps already been restricted, otherwise disable it
-        preference.setEnabled(num > 0);
+        // Don't show it if no app been restricted
+        preference.setVisible(num > 0);
         preference.setSummary(
                 mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
                         num));
index 6a97fe1..7d26755 100644 (file)
@@ -125,7 +125,7 @@ public class RestrictAppPreferenceControllerTest {
     }
 
     @Test
-    public void testUpdateState_twoRestrictedAppsForPrimaryUser_showCorrectSummary() {
+    public void testUpdateState_twoRestrictedAppsForPrimaryUser_visibleAndShowCorrectSummary() {
         mPackageOpsList.add(mRestrictedPackageOps);
         mPackageOpsList.add(mRestrictedPackageOps);
         mPackageOpsList.add(mAllowedPackageOps);
@@ -135,6 +135,7 @@ public class RestrictAppPreferenceControllerTest {
         mRestrictAppPreferenceController.updateState(mPreference);
 
         assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 2 apps");
+        assertThat(mPreference.isVisible()).isTrue();
     }
 
     @Test
@@ -155,13 +156,13 @@ public class RestrictAppPreferenceControllerTest {
     }
 
     @Test
-    public void testUpdateState_zeroRestrictApp_disabled() {
+    public void testUpdateState_zeroRestrictApp_inVisible() {
         mPackageOpsList.add(mAllowedPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any());
 
         mRestrictAppPreferenceController.updateState(mPreference);
 
-        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.isVisible()).isFalse();
     }
 
     @Test