diff --git a/res/values/bools.xml b/res/values/bools.xml
index 4665f2eaed9..79285106465 100644
--- a/res/values/bools.xml
+++ b/res/values/bools.xml
@@ -96,6 +96,9 @@
true
+
+ true
+
true
diff --git a/src/com/android/settings/security/EncryptionStatusPreferenceController.java b/src/com/android/settings/security/EncryptionStatusPreferenceController.java
index 234124827b5..81255991792 100644
--- a/src/com/android/settings/security/EncryptionStatusPreferenceController.java
+++ b/src/com/android/settings/security/EncryptionStatusPreferenceController.java
@@ -41,6 +41,12 @@ public class EncryptionStatusPreferenceController extends BasePreferenceControll
@Override
public int getAvailabilityStatus() {
+ if (TextUtils.equals(getPreferenceKey(), PREF_KEY_ENCRYPTION_DETAIL_PAGE) &&
+ !mContext.getResources().getBoolean(
+ R.bool.config_show_encryption_and_credentials_encryption_status)) {
+ return DISABLED_UNSUPPORTED;
+ }
+
return mUserManager.isAdminUser() ? AVAILABLE : DISABLED_FOR_USER;
}
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index 788c593d2a2..d4e030c2ae6 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -34,6 +34,7 @@
false
false
false
+ false
false
false
false
diff --git a/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
index ee6d33aace0..2e6b703d2c8 100644
--- a/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
@@ -67,6 +67,23 @@ public class EncryptionStatusPreferenceControllerTest {
assertThat(mController.isAvailable()).isFalse();
}
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void isAvailable_notVisible_false() {
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void isAvailable_notVisible_butNotDetailPage_true() {
+ mController = new EncryptionStatusPreferenceController(mContext,
+ PREF_KEY_ENCRYPTION_SECURITY_PAGE);
+
+ UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ Shadows.shadowOf(userManager).setIsAdminUser(true);
+ assertThat(mController.isAvailable()).isTrue();
+ }
+
@Test
public void updateSummary_encrypted_shouldSayEncrypted() {
ShadowLockPatternUtils.setDeviceEncryptionEnabled(true);