From a3fa15e90e14c5a1f33d280384cdf39b3b5c84ef Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Thu, 30 Aug 2018 12:14:02 -0300
Subject: [PATCH] Blank UnlockActivity when not using fingerprint unlock

---
 .../briar/android/login/UnlockActivity.java           | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java
index 29155a7266..4bbd3d1d0f 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/login/UnlockActivity.java
@@ -29,6 +29,7 @@ import static android.hardware.biometrics.BiometricPrompt.BIOMETRIC_ERROR_LOCKOU
 import static android.hardware.biometrics.BiometricPrompt.BIOMETRIC_ERROR_LOCKOUT_PERMANENT;
 import static android.hardware.biometrics.BiometricPrompt.BIOMETRIC_ERROR_USER_CANCELED;
 import static android.os.Build.VERSION.SDK_INT;
+import static android.view.View.INVISIBLE;
 import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_KEYGUARD_UNLOCK;
 import static org.briarproject.briar.android.util.UiUtils.hasKeyguardLock;
 import static org.briarproject.briar.android.util.UiUtils.hasUsableFingerprint;
@@ -60,6 +61,12 @@ public class UnlockActivity extends BaseActivity {
 		Button button = findViewById(R.id.unlock);
 		button.setOnClickListener(view -> requestUnlock());
 
+		if (!hasUsableFingerprint(this)) {
+			getWindow().setBackgroundDrawable(null);
+			button.setVisibility(INVISIBLE);
+			findViewById(R.id.image).setVisibility(INVISIBLE);
+		}
+
 		keyguardShown = state != null && state.getBoolean(KEYGUARD_SHOWN);
 	}
 
@@ -140,14 +147,14 @@ public class UnlockActivity extends BaseActivity {
 						errorCode == BIOMETRIC_ERROR_LOCKOUT_PERMANENT) {
 					if (hasKeyguardLock(UnlockActivity.this)) {
 						requestKeyguardUnlock();
-					} else {
+					} else if (errString != null) {
 						// normally fingerprints require a screen lock, but
 						// who knows if that's true for all devices out there
 						Toast.makeText(UnlockActivity.this, errString,
 								Toast.LENGTH_LONG).show();
 						finish();
 					}
-				} else {
+				} else if (errString != null) {
 					Toast.makeText(UnlockActivity.this, errString,
 							Toast.LENGTH_LONG).show();
 				}
-- 
GitLab