From c6ced3fb21cbd7213634e00c21e86d145f61b98a Mon Sep 17 00:00:00 2001 From: Curtis Belmonte Date: Thu, 15 Jul 2021 17:08:32 -0700 Subject: [PATCH] Fail fingerprint enroll with error if HAT is null Fingerprint enroll expects a non-null HAT. If we don't have one, rather than crashing or stalling out enrollment, fail fast with an error. Test: Manual Bug: 193811614 Change-Id: Ifb791e19430e33cb82566e4916ab1a7b997b32ff --- .../fingerprint/FingerprintEnrollSidecar.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java index b6c3516dca5..40348d47a71 100644 --- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java +++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java @@ -19,7 +19,9 @@ package com.android.settings.biometrics.fingerprint; import android.app.Activity; import android.app.settings.SettingsEnums; import android.hardware.fingerprint.FingerprintManager; +import android.util.Log; +import com.android.settings.R; import com.android.settings.Utils; import com.android.settings.biometrics.BiometricEnrollSidecar; @@ -27,6 +29,7 @@ import com.android.settings.biometrics.BiometricEnrollSidecar; * Sidecar fragment to handle the state around fingerprint enrollment. */ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { + private static final String TAG = "FingerprintEnrollSidecar"; private FingerprintManager mFingerprintManager; private @FingerprintManager.EnrollReason int mEnrollReason; @@ -40,6 +43,14 @@ public class FingerprintEnrollSidecar extends BiometricEnrollSidecar { @Override protected void startEnrollment() { super.startEnrollment(); + + if (mToken == null) { + Log.e(TAG, "Null hardware auth token for enroll"); + onEnrollmentError(FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE, + getString(R.string.fingerprint_intro_error_unknown)); + return; + } + mFingerprintManager.enroll(mToken, mEnrollmentCancel, mUserId, mEnrollmentCallback, mEnrollReason); }