Do not enable the Content Protection toggle for non-admin users.

Flag: EXEMPT bugfix
Bug: 409318132
Test: m -j256 Settings && atest
SettingsRoboTests:ContentProtectionTogglePreferenceControllerTest
(cherry picked from commit ef801e1a8ec3a18ce9e0221fc7e1dfe495d0be8a)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:094c9df207d9bb430427dadc2e327b4834b57b01)
Merged-In: I46609c795923d427a5b7fa10bc2e8b071fad72d6
Change-Id: I46609c795923d427a5b7fa10bc2e8b071fad72d6
This commit is contained in:
Adam Bookatz
2025-04-24 09:53:42 -07:00
committed by Android Build Coastguard Worker
parent e985e294f1
commit dc41d27f1b
2 changed files with 7 additions and 5 deletions

View File

@@ -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);
}

View File

@@ -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);
}