summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Chan <jc@linux.com>2017-02-05 18:53:42 +0800
committerPaul Keith <javelinanddart@aidenswann.com>2017-02-09 17:31:48 +0000
commitcd60dd84b0afd1e3b6d6911a92f8cefc5dc1828e (patch)
treed763a0c09bcb5fa861eb78777d3acfa073387bdc
parentb23aaf793db4eabe9110affb9695ae99a1f68d2f (diff)
downloadandroid_hardware_samsung-cd60dd84b0afd1e3b6d6911a92f8cefc5dc1828e.tar.gz
android_hardware_samsung-cd60dd84b0afd1e3b6d6911a92f8cefc5dc1828e.tar.bz2
android_hardware_samsung-cd60dd84b0afd1e3b6d6911a92f8cefc5dc1828e.zip
fingerprint: bauth: convert % completed to remaining
* Samsung uses fingerprint enrollment % completed while AOSP uses fingerprint sample remaining. * This patch converts this data to AOSP-friendly one via (x = 100 - x). Change-Id: I27034cb148e0f33f7d3efae9c75123715452f178 Signed-off-by: Jesse Chan <jc@linux.com>
-rw-r--r--fingerprint/bauth/fingerprint.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/fingerprint/bauth/fingerprint.c b/fingerprint/bauth/fingerprint.c
index 55a56b8..6e5ed90 100644
--- a/fingerprint/bauth/fingerprint.c
+++ b/fingerprint/bauth/fingerprint.c
@@ -43,6 +43,8 @@ typedef struct {
bauth_server_handle_t* bauth_handle;
+static fingerprint_notify_t original_notify;
+
static int load_bauth_server(void)
{
bauth_handle = (bauth_server_handle_t *)malloc(sizeof(bauth_server_handle_t));
@@ -71,6 +73,22 @@ no_memory:
return -ENOMEM;
}
+static void hal_notify_convert(const fingerprint_msg_t *msg)
+{
+ fingerprint_msg_t *new_msg = (fingerprint_msg_t *)msg;
+
+ switch (msg->type) {
+ case FINGERPRINT_TEMPLATE_ENROLLING:
+ new_msg->data.enroll.samples_remaining = 100 - msg->data.enroll.samples_remaining;
+ break;
+
+ default:
+ break;
+ }
+
+ return original_notify(new_msg);
+}
+
static int fingerprint_close(hw_device_t *dev)
{
bauth_handle->ss_fingerprint_close();
@@ -128,7 +146,8 @@ static int set_notify_callback(struct fingerprint_device *dev, fingerprint_notif
{
/* Decorate with locks */
dev->notify = notify;
- return bauth_handle->ss_set_notify_callback(notify);
+ original_notify = notify;
+ return bauth_handle->ss_set_notify_callback(hal_notify_convert);
}
static int fingerprint_open(const hw_module_t* module, const char *id, hw_device_t** device)