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)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user