summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Bookatz <bookatz@google.com> 2025-04-24 09:53:42 -0700
committer Kampalus <kampalus@protonmail.ch> 2025-09-18 11:28:55 +0200
commiteac395698f82c60c99d3dcf572a4c08f90d50155 (patch)
tree3a0db1a27ff4209febc0d199a34075d43b0c0617
parent425804113e3fd6e4af819eab008bc20a154cd872 (diff)
[SP 2025-09-01] Do not enable the Content Protection toggle for non-admin users.
Flag: EXEMPT bugfix Bug: 409318132 Test: m -j256 Settings && atest SettingsRoboTests:ContentProtectionTogglePreferenceControllerTest Change-Id: I46609c795923d427a5b7fa10bc2e8b071fad72d6 (cherry picked from commit ef801e1a8ec3a18ce9e0221fc7e1dfe495d0be8a)
-rw-r--r--src/com/android/settings/security/ContentProtectionTogglePreferenceController.java2
-rw-r--r--tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java10
2 files changed, 7 insertions, 5 deletions
diff --git a/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
index 69ac6b100be..61987cdd8ad 100644
--- a/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
+++ b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
@@ -132,7 +132,7 @@ public class ContentProtectionTogglePreferenceController extends TogglePreferenc
UserManager userManager = mContext.getSystemService(UserManager.class);
if (userManager != null
- && userManager.isGuestUser()
+ && !userManager.isAdminUser()
&& mSwitchBar != null) {
mSwitchBar.setEnabled(false);
}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
index 6514a4e4043..5f63da19fe6 100644
--- a/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
@@ -85,7 +85,7 @@ public class ContentProtectionTogglePreferenceControllerTest {
@Before
public void setUp() {
mShadowUserManager = ShadowUserManager.getShadow();
- mShadowUserManager.setGuestUser(false);
+ mShadowUserManager.setIsAdminUser(true);
mController = new TestContentProtectionTogglePreferenceController();
SettingsMainSwitchPreference switchPreference = new SettingsMainSwitchPreference(mContext);
when(mMockPreferenceScreen.findPreference(mController.getPreferenceKey()))
@@ -277,8 +277,8 @@ public class ContentProtectionTogglePreferenceControllerTest {
}
@Test
- public void updateState_flagEnabled_noEnforcedAdmin_guestUser_switchBarDisabled() {
- mShadowUserManager.setGuestUser(true);
+ public void updateState_flagEnabled_noEnforcedAdmin_nonAdminUser_switchBarDisabled() {
+ mShadowUserManager.setIsAdminUser(false);
mSetFlagsRule.enableFlags(FLAG_MANAGE_DEVICE_POLICY_ENABLED);
mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED;
setupForUpdateState();
@@ -289,13 +289,15 @@ public class ContentProtectionTogglePreferenceControllerTest {
}
@Test
- public void updateState_flagEnabled_noEnforcedAdmin_nonGuestUser_switchBarEnabled() {
+ public void updateState_flagEnabled_noEnforcedAdmin_adminUser_switchBarEnabled() {
+ mShadowUserManager.setIsAdminUser(true);
mSetFlagsRule.enableFlags(FLAG_MANAGE_DEVICE_POLICY_ENABLED);
mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED;
setupForUpdateState();
mController.updateState(mMockSwitchPreference);
+ // Verify that the switch bar is *not* set to disabled.
verify(mMockSwitchPreference, never()).setEnabled(false);
}