From c08b66583174361e3abc0daa627272b2733949f4 Mon Sep 17 00:00:00 2001 From: Arian Date: Sat, 18 Jun 2022 21:50:26 +0200 Subject: [PATCH] hidl: biometrics: Extend UdfpsHandler with onAcquired and cancel methods These methods can be used to handle vendor acquired messages and disable fod listening on cancelled and successful unlocks. Change-Id: Ie6a8d24840b0b6c34527f863a6052f789200a79f --- hidl/biometrics/fingerprint/BiometricsFingerprint.cpp | 6 ++++++ hidl/biometrics/fingerprint/include/UdfpsHandler.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/hidl/biometrics/fingerprint/BiometricsFingerprint.cpp b/hidl/biometrics/fingerprint/BiometricsFingerprint.cpp index 1f07d75..9303e08 100644 --- a/hidl/biometrics/fingerprint/BiometricsFingerprint.cpp +++ b/hidl/biometrics/fingerprint/BiometricsFingerprint.cpp @@ -227,6 +227,9 @@ Return BiometricsFingerprint::getAuthenticatorId() { } Return BiometricsFingerprint::cancel() { + if (mUdfpsHandler) { + mUdfpsHandler->cancel(); + } return ErrorFilter(mDevice->cancel(mDevice)); } @@ -354,6 +357,9 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t* msg) { FingerprintAcquiredInfo result = VendorAcquiredFilter(msg->data.acquired.acquired_info, &vendorCode); ALOGD("onAcquired(%d)", result); + if (thisPtr->mUdfpsHandler) { + thisPtr->mUdfpsHandler->onAcquired(static_cast(result), vendorCode); + } if (!thisPtr->mClientCallback->onAcquired(devId, result, vendorCode).isOk()) { ALOGE("failed to invoke fingerprint onAcquired callback"); } diff --git a/hidl/biometrics/fingerprint/include/UdfpsHandler.h b/hidl/biometrics/fingerprint/include/UdfpsHandler.h index c566747..9ae531c 100644 --- a/hidl/biometrics/fingerprint/include/UdfpsHandler.h +++ b/hidl/biometrics/fingerprint/include/UdfpsHandler.h @@ -16,6 +16,9 @@ class UdfpsHandler { virtual void init(fingerprint_device_t *device) = 0; virtual void onFingerDown(uint32_t x, uint32_t y, float minor, float major) = 0; virtual void onFingerUp() = 0; + + virtual void onAcquired(int32_t result, int32_t vendorCode) = 0; + virtual void cancel() = 0; }; struct UdfpsHandlerFactory {