Fix "max failed login attempts" disclosure
Among other things, the managed device info page informs the user when their administrator sets the "max failed login attempts" policy. This disclosure does not show up when set by the Device Owner right now because the code expects it to have been set by a Profile Owner. This was a regression introduced by ag/2039754. Bug: 63696536 Test: CTSVerifier: Managed Provisioning > Device Owner Tests > Test: Managed device info tests > Wipe on authentication failure Change-Id: I5c53f325a1acfb98c72178ac9dab78f18f714c51
This commit is contained in:
@@ -44,6 +44,13 @@ public interface DevicePolicyManagerWrapper {
|
||||
*/
|
||||
int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle);
|
||||
|
||||
/**
|
||||
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnCallingUser()}.
|
||||
*
|
||||
* @see android.app.admin.DevicePolicyManager#getDeviceOwnerComponentOnCallingUser
|
||||
*/
|
||||
ComponentName getDeviceOwnerComponentOnCallingUser();
|
||||
|
||||
/**
|
||||
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnAnyUser()}.
|
||||
*
|
||||
|
@@ -41,6 +41,11 @@ public class DevicePolicyManagerWrapperImpl implements DevicePolicyManagerWrappe
|
||||
return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentName getDeviceOwnerComponentOnCallingUser() {
|
||||
return mDpm.getDeviceOwnerComponentOnCallingUser();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ComponentName getDeviceOwnerComponentOnAnyUser() {
|
||||
return mDpm.getDeviceOwnerComponentOnAnyUser();
|
||||
|
@@ -158,11 +158,14 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
|
||||
|
||||
@Override
|
||||
public int getMaximumFailedPasswordsBeforeWipeInCurrentUser() {
|
||||
final ComponentName profileOwner = mDpm.getProfileOwnerAsUser(MY_USER_ID);
|
||||
if (profileOwner == null) {
|
||||
ComponentName owner = mDpm.getDeviceOwnerComponentOnCallingUser();
|
||||
if (owner == null) {
|
||||
owner = mDpm.getProfileOwnerAsUser(MY_USER_ID);
|
||||
}
|
||||
if (owner == null) {
|
||||
return 0;
|
||||
}
|
||||
return mDpm.getMaximumFailedPasswordsForWipe(profileOwner, MY_USER_ID);
|
||||
return mDpm.getMaximumFailedPasswordsForWipe(owner, MY_USER_ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -231,6 +231,7 @@ public final class EnterprisePrivacyFeatureProviderImplTest {
|
||||
|
||||
@Test
|
||||
public void testGetMaximumFailedPasswordsForWipeInCurrentUser() {
|
||||
when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(null);
|
||||
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null);
|
||||
when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, MY_USER_ID))
|
||||
.thenReturn(10);
|
||||
@@ -238,6 +239,10 @@ public final class EnterprisePrivacyFeatureProviderImplTest {
|
||||
|
||||
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(OWNER);
|
||||
assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10);
|
||||
|
||||
when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(OWNER);
|
||||
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null);
|
||||
assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Reference in New Issue
Block a user