diff options
author | 2025-04-24 09:53:42 -0700 | |
---|---|---|
committer | 2025-09-18 11:28:55 +0200 | |
commit | eac395698f82c60c99d3dcf572a4c08f90d50155 (patch) | |
tree | 3a0db1a27ff4209febc0d199a34075d43b0c0617 | |
parent | 425804113e3fd6e4af819eab008bc20a154cd872 (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)
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); } |