Hide preference when no app restricted

Change-Id: I37135bce5354ce7380441f86f94cb79d89cc500c
Fixes: 77799629
Test: RunSettingsRoboTests
This commit is contained in:
Lei Yu
2018-04-09 11:25:31 -07:00
parent 78e2cad8b1
commit 9d2c7e822b
2 changed files with 6 additions and 5 deletions

View File

@@ -72,8 +72,8 @@ public class RestrictAppPreferenceController extends BasePreferenceController {
mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager); mAppInfos = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager, mUserManager);
final int num = mAppInfos.size(); final int num = mAppInfos.size();
// Enable the preference if some apps already been restricted, otherwise disable it // Don't show it if no app been restricted
preference.setEnabled(num > 0); preference.setVisible(num > 0);
preference.setSummary( preference.setSummary(
mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num, mContext.getResources().getQuantityString(R.plurals.restricted_app_summary, num,
num)); num));

View File

@@ -125,7 +125,7 @@ public class RestrictAppPreferenceControllerTest {
} }
@Test @Test
public void testUpdateState_twoRestrictedAppsForPrimaryUser_showCorrectSummary() { public void testUpdateState_twoRestrictedAppsForPrimaryUser_visibleAndShowCorrectSummary() {
mPackageOpsList.add(mRestrictedPackageOps); mPackageOpsList.add(mRestrictedPackageOps);
mPackageOpsList.add(mRestrictedPackageOps); mPackageOpsList.add(mRestrictedPackageOps);
mPackageOpsList.add(mAllowedPackageOps); mPackageOpsList.add(mAllowedPackageOps);
@@ -135,6 +135,7 @@ public class RestrictAppPreferenceControllerTest {
mRestrictAppPreferenceController.updateState(mPreference); mRestrictAppPreferenceController.updateState(mPreference);
assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 2 apps"); assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 2 apps");
assertThat(mPreference.isVisible()).isTrue();
} }
@Test @Test
@@ -155,13 +156,13 @@ public class RestrictAppPreferenceControllerTest {
} }
@Test @Test
public void testUpdateState_zeroRestrictApp_disabled() { public void testUpdateState_zeroRestrictApp_inVisible() {
mPackageOpsList.add(mAllowedPackageOps); mPackageOpsList.add(mAllowedPackageOps);
doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any()); doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any());
mRestrictAppPreferenceController.updateState(mPreference); mRestrictAppPreferenceController.updateState(mPreference);
assertThat(mPreference.isEnabled()).isFalse(); assertThat(mPreference.isVisible()).isFalse();
} }
@Test @Test