diff --git a/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java b/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java index 79f716cd5ce95..2d46a4073809e 100644 --- a/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java +++ b/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java @@ -60,7 +60,8 @@ public interface BiometricFingerprintConstants { BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED, BIOMETRIC_ERROR_RE_ENROLL, BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED, - FINGERPRINT_ERROR_UNKNOWN}) + FINGERPRINT_ERROR_UNKNOWN, + FINGERPRINT_ERROR_BAD_CALIBARTION}) @Retention(RetentionPolicy.SOURCE) @interface FingerprintError {} @@ -180,6 +181,12 @@ public interface BiometricFingerprintConstants { */ int FINGERPRINT_ERROR_UNKNOWN = 17; + /** + * Error indicating that the fingerprint sensor has bad calibration. + * @hide + */ + int FINGERPRINT_ERROR_BAD_CALIBARTION = 18; + /** * @hide */ diff --git a/core/java/android/hardware/fingerprint/FingerprintManager.java b/core/java/android/hardware/fingerprint/FingerprintManager.java index e5946663df471..688f9f1174dd6 100644 --- a/core/java/android/hardware/fingerprint/FingerprintManager.java +++ b/core/java/android/hardware/fingerprint/FingerprintManager.java @@ -1375,6 +1375,9 @@ public class FingerprintManager implements BiometricAuthenticator, BiometricFing case BIOMETRIC_ERROR_SECURITY_UPDATE_REQUIRED: return context.getString( com.android.internal.R.string.fingerprint_error_security_update_required); + case FINGERPRINT_ERROR_BAD_CALIBARTION: + context.getString( + com.android.internal.R.string.fingerprint_error_bad_calibration); case FINGERPRINT_ERROR_VENDOR: { String[] msgArray = context.getResources().getStringArray( com.android.internal.R.array.fingerprint_error_vendor); diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index bdeff89352eab..d4ddab1ec502d 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -1636,6 +1636,8 @@ This device does not have a fingerprint sensor. Sensor temporarily disabled. + + Sensor needs calibration Finger %d diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index 97a2a38bdab82..960bd639960e9 100644 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -2537,6 +2537,7 @@ + diff --git a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/AidlConversionUtils.java b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/AidlConversionUtils.java index 66142bff04533..f1f94564c35dd 100644 --- a/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/AidlConversionUtils.java +++ b/services/core/java/com/android/server/biometrics/sensors/fingerprint/aidl/AidlConversionUtils.java @@ -46,6 +46,8 @@ final class AidlConversionUtils { return BiometricFingerprintConstants.FINGERPRINT_ERROR_UNABLE_TO_REMOVE; } else if (aidlError == Error.VENDOR) { return BiometricFingerprintConstants.FINGERPRINT_ERROR_VENDOR; + } else if (aidlError == Error.BAD_CALIBRATION) { + return BiometricFingerprintConstants.FINGERPRINT_ERROR_BAD_CALIBARTION; } else { return BiometricFingerprintConstants.FINGERPRINT_ERROR_UNKNOWN; }