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); UserManager userManager = mContext.getSystemService(UserManager.class);
if (userManager != null if (userManager != null
&& userManager.isGuestUser() && !userManager.isAdminUser()
&& mSwitchBar != null) { && mSwitchBar != null) {
mSwitchBar.setEnabled(false); mSwitchBar.setEnabled(false);
} }

View File

@@ -85,7 +85,7 @@ public class ContentProtectionTogglePreferenceControllerTest {
@Before @Before
public void setUp() { public void setUp() {
mShadowUserManager = ShadowUserManager.getShadow(); mShadowUserManager = ShadowUserManager.getShadow();
mShadowUserManager.setGuestUser(false); mShadowUserManager.setIsAdminUser(true);
mController = new TestContentProtectionTogglePreferenceController(); mController = new TestContentProtectionTogglePreferenceController();
SettingsMainSwitchPreference switchPreference = new SettingsMainSwitchPreference(mContext); SettingsMainSwitchPreference switchPreference = new SettingsMainSwitchPreference(mContext);
when(mMockPreferenceScreen.findPreference(mController.getPreferenceKey())) when(mMockPreferenceScreen.findPreference(mController.getPreferenceKey()))
@@ -277,8 +277,8 @@ public class ContentProtectionTogglePreferenceControllerTest {
} }
@Test @Test
public void updateState_flagEnabled_noEnforcedAdmin_guestUser_switchBarDisabled() { public void updateState_flagEnabled_noEnforcedAdmin_nonAdminUser_switchBarDisabled() {
mShadowUserManager.setGuestUser(true); mShadowUserManager.setIsAdminUser(false);
mSetFlagsRule.enableFlags(FLAG_MANAGE_DEVICE_POLICY_ENABLED); mSetFlagsRule.enableFlags(FLAG_MANAGE_DEVICE_POLICY_ENABLED);
mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED; mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED;
setupForUpdateState(); setupForUpdateState();
@@ -289,13 +289,15 @@ public class ContentProtectionTogglePreferenceControllerTest {
} }
@Test @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); mSetFlagsRule.enableFlags(FLAG_MANAGE_DEVICE_POLICY_ENABLED);
mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED; mContentProtectionPolicy = DevicePolicyManager.CONTENT_PROTECTION_ENABLED;
setupForUpdateState(); setupForUpdateState();
mController.updateState(mMockSwitchPreference); mController.updateState(mMockSwitchPreference);
// Verify that the switch bar is *not* set to disabled.
verify(mMockSwitchPreference, never()).setEnabled(false); verify(mMockSwitchPreference, never()).setEnabled(false);
} }