Merge "Fix "max failed login attempts" disclosure" into oc-dr1-dev

This commit is contained in:
Bartosz Fabianowski
2017-07-25 10:14:50 +00:00
committed by Android (Google) Code Review
4 changed files with 23 additions and 3 deletions

View File

@@ -44,6 +44,13 @@ public interface DevicePolicyManagerWrapper {
*/ */
int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle); int getMaximumFailedPasswordsForWipe(@Nullable ComponentName admin, int userHandle);
/**
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnCallingUser()}.
*
* @see android.app.admin.DevicePolicyManager#getDeviceOwnerComponentOnCallingUser
*/
ComponentName getDeviceOwnerComponentOnCallingUser();
/** /**
* Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnAnyUser()}. * Calls {@code DevicePolicyManager.getDeviceOwnerComponentOnAnyUser()}.
* *

View File

@@ -41,6 +41,11 @@ public class DevicePolicyManagerWrapperImpl implements DevicePolicyManagerWrappe
return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle); return mDpm.getMaximumFailedPasswordsForWipe(admin, userHandle);
} }
@Override
public ComponentName getDeviceOwnerComponentOnCallingUser() {
return mDpm.getDeviceOwnerComponentOnCallingUser();
}
@Override @Override
public ComponentName getDeviceOwnerComponentOnAnyUser() { public ComponentName getDeviceOwnerComponentOnAnyUser() {
return mDpm.getDeviceOwnerComponentOnAnyUser(); return mDpm.getDeviceOwnerComponentOnAnyUser();

View File

@@ -158,11 +158,14 @@ public class EnterprisePrivacyFeatureProviderImpl implements EnterprisePrivacyFe
@Override @Override
public int getMaximumFailedPasswordsBeforeWipeInCurrentUser() { public int getMaximumFailedPasswordsBeforeWipeInCurrentUser() {
final ComponentName profileOwner = mDpm.getProfileOwnerAsUser(MY_USER_ID); ComponentName owner = mDpm.getDeviceOwnerComponentOnCallingUser();
if (profileOwner == null) { if (owner == null) {
owner = mDpm.getProfileOwnerAsUser(MY_USER_ID);
}
if (owner == null) {
return 0; return 0;
} }
return mDpm.getMaximumFailedPasswordsForWipe(profileOwner, MY_USER_ID); return mDpm.getMaximumFailedPasswordsForWipe(owner, MY_USER_ID);
} }
@Override @Override

View File

@@ -231,6 +231,7 @@ public final class EnterprisePrivacyFeatureProviderImplTest {
@Test @Test
public void testGetMaximumFailedPasswordsForWipeInCurrentUser() { public void testGetMaximumFailedPasswordsForWipeInCurrentUser() {
when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(null);
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null); when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null);
when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, MY_USER_ID)) when(mDevicePolicyManager.getMaximumFailedPasswordsForWipe(OWNER, MY_USER_ID))
.thenReturn(10); .thenReturn(10);
@@ -238,6 +239,10 @@ public final class EnterprisePrivacyFeatureProviderImplTest {
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(OWNER); when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(OWNER);
assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10); assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10);
when(mDevicePolicyManager.getDeviceOwnerComponentOnCallingUser()).thenReturn(OWNER);
when(mDevicePolicyManager.getProfileOwnerAsUser(MY_USER_ID)).thenReturn(null);
assertThat(mProvider.getMaximumFailedPasswordsBeforeWipeInCurrentUser()).isEqualTo(10);
} }
@Test @Test