Pass CDC text as credential-only to BiometricPrompt

Invokes the new hidden API to allow the work authentication prompt to
supply specific text to BiometricPrompt for credential auth. This
allows the prompt to use work-specific language when verifying work
credentials, while retaining more generic language when authenticating
with biometrics.

Test: Work lock prompt shows "Enter your work ___" for credential
Test: Work lock prompt now shows "Verify it's you" for face

Bug: 149003660
Change-Id: Icab8e16702ca31d08fa8b0b00f0519c9a37f609f
This commit is contained in:
Curtis Belmonte
2020-02-11 13:05:45 -08:00
parent 4d6527e063
commit c4bcf041d2
2 changed files with 18 additions and 10 deletions

View File

@@ -182,14 +182,7 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
if ((mTitle == null) && isManagedProfile) {
mTitle = getTitleFromOrganizationName(mUserId);
}
final @LockPatternUtils.CredentialType int credentialType = Utils.getCredentialType(
mContext, effectiveUserId);
if (mTitle == null) {
mTitle = getTitleFromCredentialType(credentialType, isManagedProfile);
}
if (mDetails == null) {
mDetails = getDetailsFromCredentialType(credentialType, isManagedProfile);
}
mChooseLockSettingsHelper = new ChooseLockSettingsHelper(this);
final LockPatternUtils lockPatternUtils = new LockPatternUtils(this);
@@ -200,6 +193,17 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
bpBundle.putBoolean(BiometricPrompt.EXTRA_DISALLOW_BIOMETRICS_IF_POLICY_EXISTS,
mCheckDevicePolicyManager);
final @LockPatternUtils.CredentialType int credentialType = Utils.getCredentialType(
mContext, effectiveUserId);
if (mTitle == null) {
bpBundle.putString(BiometricPrompt.KEY_DEVICE_CREDENTIAL_TITLE,
getTitleFromCredentialType(credentialType, isManagedProfile));
}
if (mDetails == null) {
bpBundle.putString(BiometricPrompt.KEY_DEVICE_CREDENTIAL_DESCRIPTION,
getDetailsFromCredentialType(credentialType, isManagedProfile));
}
boolean launchedBiometric = false;
boolean launchedCDC = false;
// If the target is a managed user and user key not unlocked yet, we will force unlock