Delay invoking biometric prompt.

Fix: 169323687
Test: manual
Change-Id: Iff00caaace97df6da476fd429ebf24bb6b1e14e1
This commit is contained in:
Joe Bolinger
2021-06-09 10:01:21 -07:00
parent ad84b3dd39
commit 2482d43493
2 changed files with 12 additions and 19 deletions

View File

@@ -47,7 +47,6 @@ public class BiometricFragment extends InstrumentedFragment {
private int mUserId; private int mUserId;
// Created/Initialized once and retained // Created/Initialized once and retained
private PromptInfo mPromptInfo;
private BiometricPrompt mBiometricPrompt; private BiometricPrompt mBiometricPrompt;
private CancellationSignal mCancellationSignal; private CancellationSignal mCancellationSignal;
@@ -127,7 +126,7 @@ public class BiometricFragment extends InstrumentedFragment {
final Bundle bundle = getArguments(); final Bundle bundle = getArguments();
final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO); final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO);
final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(getContext()) mBiometricPrompt = new BiometricPrompt.Builder(getContext())
.setTitle(promptInfo.getTitle()) .setTitle(promptInfo.getTitle())
.setUseDefaultTitle() // use default title if title is null/empty .setUseDefaultTitle() // use default title if title is null/empty
.setDeviceCredentialAllowed(true) .setDeviceCredentialAllowed(true)
@@ -140,13 +139,19 @@ public class BiometricFragment extends InstrumentedFragment {
.setConfirmationRequired(promptInfo.isConfirmationRequested()) .setConfirmationRequired(promptInfo.isConfirmationRequested())
.setDisallowBiometricsIfPolicyExists( .setDisallowBiometricsIfPolicyExists(
promptInfo.isDisallowBiometricsIfPolicyExists()) promptInfo.isDisallowBiometricsIfPolicyExists())
.setReceiveSystemEvents(true); .setReceiveSystemEvents(true)
.build();
}
mBiometricPrompt = builder.build(); @Override
mCancellationSignal = new CancellationSignal(); public void onResume() {
super.onResume();
mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor, if (mCancellationSignal == null) {
mAuthenticationCallback, mUserId); mCancellationSignal = new CancellationSignal();
mBiometricPrompt.authenticateUser(mCancellationSignal, mClientExecutor,
mAuthenticationCallback, mUserId);
}
} }
@Override @Override
@@ -154,4 +159,3 @@ public class BiometricFragment extends InstrumentedFragment {
return SettingsEnums.BIOMETRIC_FRAGMENT; return SettingsEnums.BIOMETRIC_FRAGMENT;
} }
} }

View File

@@ -150,17 +150,6 @@ public class ConfirmDeviceCredentialActivity extends FragmentActivity {
} }
}; };
private String getStringForError(int errorCode) {
switch (errorCode) {
case BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED:
return getString(com.android.internal.R.string.biometric_error_user_canceled);
case BiometricConstants.BIOMETRIC_ERROR_CANCELED:
return getString(com.android.internal.R.string.biometric_error_canceled);
default:
return null;
}
}
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);