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
This commit is contained in:
Curtis Belmonte
2021-07-15 17:08:32 -07:00
parent 20e57d33ff
commit c6ced3fb21

View File

@@ -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);
}