samsung: hidl: fingerprint: call cancel on fingerprint enrollment completion
Change-Id: I288613b772e3b31b86c7dffd5903dbe21ce5d5a9
diff --git a/hidl/fingerprint/Android.mk b/hidl/fingerprint/Android.mk
index 9070cd8..4af8e8b 100644
--- a/hidl/fingerprint/Android.mk
+++ b/hidl/fingerprint/Android.mk
@@ -39,6 +39,10 @@
LOCAL_CFLAGS += -DUSES_PERCENTAGE_SAMPLES
endif
+ifeq ($(TARGET_SEC_FP_CALL_CANCEL_ON_ENROLL_COMPLETION),true)
+ LOCAL_CFLAGS += -DCALL_CANCEL_ON_ENROLL_COMPLETION
+endif
+
LOCAL_MODULE := android.hardware.biometrics.fingerprint@2.1-service.samsung
LOCAL_INIT_RC := android.hardware.biometrics.fingerprint@2.1-service.samsung.rc
LOCAL_MODULE_RELATIVE_PATH := hw
diff --git a/hidl/fingerprint/BiometricsFingerprint.cpp b/hidl/fingerprint/BiometricsFingerprint.cpp
index f9b3d15..b38575d 100644
--- a/hidl/fingerprint/BiometricsFingerprint.cpp
+++ b/hidl/fingerprint/BiometricsFingerprint.cpp
@@ -303,6 +303,11 @@
const_cast<fingerprint_msg_t*>(msg)->data.enroll.samples_remaining =
100 - msg->data.enroll.samples_remaining;
#endif
+#ifdef CALL_CANCEL_ON_ENROLL_COMPLETION
+ if(msg->data.enroll.samples_remaining == 0) {
+ thisPtr->ss_fingerprint_cancel();
+ }
+#endif
LOG(DEBUG) << "onEnrollResult(fid=" << msg->data.enroll.finger.fid
<< ", gid=" << msg->data.enroll.finger.gid
<< ", rem=" << msg->data.enroll.samples_remaining << ")";