From 95cccd1d15f5c0617776c8d3b22b99081f8c8c3f Mon Sep 17 00:00:00 2001 From: akwizgran Date: Tue, 1 Sep 2020 16:40:44 +0100 Subject: [PATCH] Don't show duplicate unlock screen on API 29+. --- .../briar/android/account/UnlockActivity.java | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/account/UnlockActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/account/UnlockActivity.java index 807a2396f..d7b7b0e46 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/account/UnlockActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/account/UnlockActivity.java @@ -117,14 +117,24 @@ public class UnlockActivity extends BaseActivity { @RequiresApi(api = 28) private void requestFingerprintUnlock() { - BiometricPrompt biometricPrompt = new Builder(this) - .setTitle(getString(R.string.lock_unlock)) - .setDescription( - getString(R.string.lock_unlock_fingerprint_description)) - .setNegativeButton(getString(R.string.lock_unlock_password), - getMainExecutor(), - (dialog, which) -> requestKeyguardUnlock()) - .build(); + BiometricPrompt biometricPrompt; + if (SDK_INT >= 29) { + biometricPrompt = new Builder(this) + .setTitle(getString(R.string.lock_unlock)) + .setDescription(getString( + R.string.lock_unlock_fingerprint_description)) + .setDeviceCredentialAllowed(true) + .build(); + } else { + biometricPrompt = new Builder(this) + .setTitle(getString(R.string.lock_unlock)) + .setDescription(getString( + R.string.lock_unlock_fingerprint_description)) + .setNegativeButton(getString(R.string.lock_unlock_password), + getMainExecutor(), + (dialog, which) -> requestKeyguardUnlock()) + .build(); + } CancellationSignal signal = new CancellationSignal(); AuthenticationCallback callback = new AuthenticationCallback() { @Override