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
tirimbino
Danny Wood 5 years ago committed by Jan Altensen
parent 6341379c0e
commit 16d1a36299
No known key found for this signature in database
GPG Key ID: 3E45BB95F7AD33DA
  1. 12
      hidl/fingerprint/BiometricsFingerprint.cpp

@ -288,19 +288,17 @@ void BiometricsFingerprint::notify(const fingerprint_msg_t* msg) {
} }
} break; } break;
case FINGERPRINT_TEMPLATE_ENROLLING: case FINGERPRINT_TEMPLATE_ENROLLING:
#ifdef USES_PERCENTAGE_SAMPLES
const_cast<fingerprint_msg_t*>(msg)->data.enroll.samples_remaining =
100 - msg->data.enroll.samples_remaining;
#endif
LOG(DEBUG) << "onEnrollResult(fid=" << msg->data.enroll.finger.fid LOG(DEBUG) << "onEnrollResult(fid=" << msg->data.enroll.finger.fid
<< ", gid=" << msg->data.enroll.finger.gid << ", gid=" << msg->data.enroll.finger.gid
<< ", rem=" << msg->data.enroll.samples_remaining << ")"; << ", rem=" << msg->data.enroll.samples_remaining << ")";
if (thisPtr->mClientCallback if (!thisPtr->mClientCallback
->onEnrollResult(devId, msg->data.enroll.finger.fid, ->onEnrollResult(devId, msg->data.enroll.finger.fid,
msg->data.enroll.finger.gid, msg->data.enroll.samples_remaining) msg->data.enroll.finger.gid, msg->data.enroll.samples_remaining)
.isOk()) { .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"; LOG(ERROR) << "failed to invoke fingerprint onEnrollResult callback";
} }
break; break;

Loading…
Cancel
Save