Identity Check API
Update MANDATORY_BIOMETRICS constant to IDENTITY_CHECK Flag: android.hardware.biometrics.Flags.FLAG_IDENTITY_CHECK_API Bug: 373424727 Test: N/A Change-Id: I6413e3695d1e07dcc225230f8fd2d373b1879e8f
This commit is contained in:
@@ -1516,13 +1516,13 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
final UserManager userManager = context.getSystemService(
|
final UserManager userManager = context.getSystemService(
|
||||||
UserManager.class);
|
UserManager.class);
|
||||||
final int status = biometricManager.canAuthenticate(getEffectiveUserId(
|
final int status = biometricManager.canAuthenticate(getEffectiveUserId(
|
||||||
userManager, userId), BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
|
userManager, userId), BiometricManager.Authenticators.IDENTITY_CHECK);
|
||||||
switch(status) {
|
switch(status) {
|
||||||
case BiometricManager.BIOMETRIC_SUCCESS:
|
case BiometricManager.BIOMETRIC_SUCCESS:
|
||||||
return BiometricStatus.OK;
|
return BiometricStatus.OK;
|
||||||
case BiometricManager.BIOMETRIC_ERROR_LOCKOUT:
|
case BiometricManager.BIOMETRIC_ERROR_LOCKOUT:
|
||||||
return BiometricStatus.LOCKOUT;
|
return BiometricStatus.LOCKOUT;
|
||||||
case BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE:
|
case BiometricManager.BIOMETRIC_ERROR_IDENTITY_CHECK_NOT_ACTIVE:
|
||||||
case BiometricManager.BIOMETRIC_ERROR_NOT_ENABLED_FOR_APPS:
|
case BiometricManager.BIOMETRIC_ERROR_NOT_ENABLED_FOR_APPS:
|
||||||
return BiometricStatus.NOT_ACTIVE;
|
return BiometricStatus.NOT_ACTIVE;
|
||||||
default:
|
default:
|
||||||
@@ -1582,7 +1582,7 @@ public final class Utils extends com.android.settingslib.Utils {
|
|||||||
final Intent intent = new Intent();
|
final Intent intent = new Intent();
|
||||||
if (android.hardware.biometrics.Flags.mandatoryBiometrics()) {
|
if (android.hardware.biometrics.Flags.mandatoryBiometrics()) {
|
||||||
intent.putExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
|
intent.putExtra(BIOMETRIC_PROMPT_AUTHENTICATORS,
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
|
BiometricManager.Authenticators.IDENTITY_CHECK);
|
||||||
}
|
}
|
||||||
intent.putExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT,
|
intent.putExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT,
|
||||||
resources.getString(R.string.cancel));
|
resources.getString(R.string.cancel));
|
||||||
|
@@ -149,8 +149,8 @@ public class MainClearTest {
|
|||||||
doReturn(mMockActivity).when(mMainClear).getActivity();
|
doReturn(mMockActivity).when(mMainClear).getActivity();
|
||||||
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_IDENTITY_CHECK_NOT_ACTIVE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@After
|
@After
|
||||||
@@ -379,7 +379,7 @@ public class MainClearTest {
|
|||||||
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
||||||
when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
|
when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
|
doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
|
||||||
doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
|
doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
|
||||||
@@ -406,7 +406,7 @@ public class MainClearTest {
|
|||||||
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
when(mMockActivity.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
||||||
when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
|
when(mResources.getString(anyInt())).thenReturn(TEST_ACCOUNT_NAME);
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_LOCKOUT);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_LOCKOUT);
|
||||||
doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
|
doReturn(true).when(mMainClear).isValidRequestCode(eq(MainClear.KEYGUARD_REQUEST));
|
||||||
doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
|
doNothing().when(mMainClear).startActivityForResult(any(), anyInt());
|
||||||
|
@@ -541,7 +541,7 @@ public class UtilsTest {
|
|||||||
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
||||||
public void testRequestBiometricAuthentication_biometricManagerReturnsSuccess_shouldReturnOk() {
|
public void testRequestBiometricAuthentication_biometricManagerReturnsSuccess_shouldReturnOk() {
|
||||||
when(mBiometricManager.canAuthenticate(USER_ID,
|
when(mBiometricManager.canAuthenticate(USER_ID,
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
final Utils.BiometricStatus requestBiometricAuthenticationForMandatoryBiometrics =
|
final Utils.BiometricStatus requestBiometricAuthenticationForMandatoryBiometrics =
|
||||||
Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
||||||
@@ -554,7 +554,7 @@ public class UtilsTest {
|
|||||||
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
||||||
public void testRequestBiometricAuthentication_biometricManagerReturnsError_shouldReturnError() {
|
public void testRequestBiometricAuthentication_biometricManagerReturnsError_shouldReturnError() {
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
||||||
assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
||||||
false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
|
false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
|
||||||
@@ -567,10 +567,10 @@ public class UtilsTest {
|
|||||||
when(mContext.getSystemService(UserManager.class)).thenReturn(mMockUserManager);
|
when(mContext.getSystemService(UserManager.class)).thenReturn(mMockUserManager);
|
||||||
when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
|
when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
||||||
when(mBiometricManager.canAuthenticate(0 /* userId */,
|
when(mBiometricManager.canAuthenticate(0 /* userId */,
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
assertThat(Utils.requestBiometricAuthenticationForMandatoryBiometrics(mContext,
|
||||||
false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
|
false /* biometricsAuthenticationRequested */, USER_ID)).isEqualTo(
|
||||||
@@ -594,7 +594,7 @@ public class UtilsTest {
|
|||||||
final Intent intent = intentArgumentCaptor.getValue();
|
final Intent intent = intentArgumentCaptor.getValue();
|
||||||
|
|
||||||
assertThat(intent.getExtra(BIOMETRIC_PROMPT_AUTHENTICATORS)).isEqualTo(
|
assertThat(intent.getExtra(BIOMETRIC_PROMPT_AUTHENTICATORS)).isEqualTo(
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS);
|
BiometricManager.Authenticators.IDENTITY_CHECK);
|
||||||
assertThat(intent.getExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT)).isNotNull();
|
assertThat(intent.getExtra(BIOMETRIC_PROMPT_NEGATIVE_BUTTON_TEXT)).isNotNull();
|
||||||
assertThat(intent.getExtra(KeyguardManager.EXTRA_DESCRIPTION)).isNotNull();
|
assertThat(intent.getExtra(KeyguardManager.EXTRA_DESCRIPTION)).isNotNull();
|
||||||
assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, false))
|
assertThat(intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_ALLOW_ANY_USER, false))
|
||||||
|
@@ -128,8 +128,8 @@ public class CombinedBiometricProfileSettingsTest {
|
|||||||
doReturn(mActivity).when(mFragment).getActivity();
|
doReturn(mActivity).when(mFragment).getActivity();
|
||||||
doReturn(mBiometricManager).when(mActivity).getSystemService(BiometricManager.class);
|
doReturn(mBiometricManager).when(mActivity).getSystemService(BiometricManager.class);
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_IDENTITY_CHECK_NOT_ACTIVE);
|
||||||
|
|
||||||
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
|
||||||
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
|
||||||
@@ -182,7 +182,7 @@ public class CombinedBiometricProfileSettingsTest {
|
|||||||
ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
|
ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
|
||||||
doNothing().when(mFragment).startActivityForResult(any(), anyInt());
|
doNothing().when(mFragment).startActivityForResult(any(), anyInt());
|
||||||
when(mBiometricManager.canAuthenticate(anyInt(),
|
when(mBiometricManager.canAuthenticate(anyInt(),
|
||||||
eq(BiometricManager.Authenticators.MANDATORY_BIOMETRICS)))
|
eq(BiometricManager.Authenticators.IDENTITY_CHECK)))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
|
|
||||||
mFragment.onAttach(mContext);
|
mFragment.onAttach(mContext);
|
||||||
|
@@ -149,7 +149,7 @@ public class FingerprintSettingsFragmentTest {
|
|||||||
doReturn(true).when(mFingerprintManager).isHardwareDetected();
|
doReturn(true).when(mFingerprintManager).isHardwareDetected();
|
||||||
doReturn(mVibrator).when(mContext).getSystemService(Vibrator.class);
|
doReturn(mVibrator).when(mContext).getSystemService(Vibrator.class);
|
||||||
when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
|
when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,7 +176,7 @@ public class FingerprintSettingsFragmentTest {
|
|||||||
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
@EnableFlags(Flags.FLAG_MANDATORY_BIOMETRICS)
|
||||||
public void testLaunchBiometricPromptForFingerprint() {
|
public void testLaunchBiometricPromptForFingerprint() {
|
||||||
when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
|
when(mBiometricManager.canAuthenticate(PRIMARY_USER_ID,
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
doNothing().when(mFingerprintManager).generateChallenge(anyInt(), any());
|
doNothing().when(mFingerprintManager).generateChallenge(anyInt(), any());
|
||||||
when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(true);
|
when(mFingerprintManager.hasEnrolledFingerprints(anyInt())).thenReturn(true);
|
||||||
|
@@ -93,7 +93,7 @@ public class BuildNumberPreferenceControllerTest {
|
|||||||
doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
|
doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
|
||||||
when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
when(mContext.getSystemService(BiometricManager.class)).thenReturn(mBiometricManager);
|
||||||
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_HW_UNAVAILABLE);
|
||||||
|
|
||||||
mFactory = FakeFeatureFactory.setupForTest();
|
mFactory = FakeFeatureFactory.setupForTest();
|
||||||
@@ -213,7 +213,7 @@ public class BuildNumberPreferenceControllerTest {
|
|||||||
public void onActivityResult_confirmPasswordRequestCompleted_launchBiometricPrompt() {
|
public void onActivityResult_confirmPasswordRequestCompleted_launchBiometricPrompt() {
|
||||||
when(mUserManager.isAdminUser()).thenReturn(true);
|
when(mUserManager.isAdminUser()).thenReturn(true);
|
||||||
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
.thenReturn(BiometricManager.BIOMETRIC_SUCCESS);
|
||||||
|
|
||||||
final boolean activityResultHandled = mController.onActivityResult(
|
final boolean activityResultHandled = mController.onActivityResult(
|
||||||
@@ -233,8 +233,8 @@ public class BuildNumberPreferenceControllerTest {
|
|||||||
public void onActivityResult_confirmPasswordRequestCompleted_mandatoryBiometricsError() {
|
public void onActivityResult_confirmPasswordRequestCompleted_mandatoryBiometricsError() {
|
||||||
when(mUserManager.isAdminUser()).thenReturn(true);
|
when(mUserManager.isAdminUser()).thenReturn(true);
|
||||||
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
when(mBiometricManager.canAuthenticate(mContext.getUserId(),
|
||||||
BiometricManager.Authenticators.MANDATORY_BIOMETRICS))
|
BiometricManager.Authenticators.IDENTITY_CHECK))
|
||||||
.thenReturn(BiometricManager.BIOMETRIC_ERROR_MANDATORY_NOT_ACTIVE);
|
.thenReturn(BiometricManager.BIOMETRIC_ERROR_IDENTITY_CHECK_NOT_ACTIVE);
|
||||||
|
|
||||||
final boolean activityResultHandled = mController.onActivityResult(
|
final boolean activityResultHandled = mController.onActivityResult(
|
||||||
BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF,
|
BuildNumberPreferenceController.REQUEST_CONFIRM_PASSWORD_FOR_DEV_PREF,
|
||||||
|
Reference in New Issue
Block a user