Emulator Fingerprint: do not send invalid finger id

Fix regression, where MNC AVD can be unlocked using
un-enrolled touch ids.
bug:
https://code.google.com/p/android/issues/detail?id=188341

Change-Id: I541e77282259c41fbc31c47fc5f8e80df3470faf
diff --git a/fingerprint/fingerprint.c b/fingerprint/fingerprint.c
index baa7ad6..0c7585a 100644
--- a/fingerprint/fingerprint.c
+++ b/fingerprint/fingerprint.c
@@ -432,6 +432,17 @@
     return 0;
 }
 
+static bool is_valid_fid(qemu_fingerprint_device_t* qdev, int fid) {
+    int idx = 0;
+    if (0 == fid) { return false; }
+    for (idx = 0; idx < MAX_NUM_FINGERS; idx++) {
+        if (qdev->listener.authenid[idx] == fid) {
+            return true;
+        }
+    }
+    return false;
+}
+
 static void send_scan_notice(qemu_fingerprint_device_t* qdev, int fid) {
     ALOGD("----------------> %s ----------------->", __FUNCTION__);
 
@@ -443,7 +454,7 @@
     // authenticated message
     fingerprint_msg_t auth_msg = {0};
     auth_msg.type = FINGERPRINT_AUTHENTICATED;
-    auth_msg.data.authenticated.finger.fid = fid;
+    auth_msg.data.authenticated.finger.fid = is_valid_fid(qdev, fid) ? fid : 0;
     auth_msg.data.authenticated.finger.gid = 0;  // unused
     auth_msg.data.authenticated.hat.version = HW_AUTH_TOKEN_VERSION;
     auth_msg.data.authenticated.hat.authenticator_type =