From 16d1a36299c4f45655e59a33d893a5b96f5033c9 Mon Sep 17 00:00:00 2001 From: Danny Wood Date: Mon, 23 Dec 2019 11:37:10 +0000 Subject: [PATCH] samsung: hidl: correct USES_PERCENTAGE_SAMPLES behaviour as previously it did nothing This fixes fingerprint on the SM-A510F and possibly other older Samsung devices when using the new HIDL implementation Change-Id: Ie8883d3d628e924a9b181b08681388cd05e5f325 --- hidl/fingerprint/BiometricsFingerprint.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/hidl/fingerprint/BiometricsFingerprint.cpp b/hidl/fingerprint/BiometricsFingerprint.cpp index e8db272d..bb27999b 100644 --- a/hidl/fingerprint/BiometricsFingerprint.cpp +++ b/hidl/fingerprint/BiometricsFingerprint.cpp @@ -288,19 +288,17 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t* msg) { } } break; case FINGERPRINT_TEMPLATE_ENROLLING: +#ifdef USES_PERCENTAGE_SAMPLES + const_cast(msg)->data.enroll.samples_remaining = + 100 - msg->data.enroll.samples_remaining; +#endif LOG(DEBUG) << "onEnrollResult(fid=" << msg->data.enroll.finger.fid << ", gid=" << msg->data.enroll.finger.gid << ", rem=" << msg->data.enroll.samples_remaining << ")"; - if (thisPtr->mClientCallback + if (!thisPtr->mClientCallback ->onEnrollResult(devId, msg->data.enroll.finger.fid, msg->data.enroll.finger.gid, msg->data.enroll.samples_remaining) .isOk()) { -#ifdef USES_PERCENTAGE_SAMPLES - fingerprint_msg_t* newMsg = (fingerprint_msg_t*)msg; - newMsg->data.enroll.samples_remaining = 100 - msg->data.enroll.samples_remaining; - msg = newMsg; -#endif - } else { LOG(ERROR) << "failed to invoke fingerprint onEnrollResult callback"; } break;