Add metrics logging for critical fingerprintd errors

This adds logging when fingerprintd dies or invoked functions
fail so we can track driver breakage:

- failure to start fingerprintd (fingerprintd_openhal_error)
- fingerprintd dies (fingerprintd_died)
- call to authenticate/enroll/enumerate/remove fails

Fixes bug 30896409

Change-Id: Ic53fcd551ba909ef141893796b33b52cd5e56395
diff --git a/services/core/java/com/android/server/fingerprint/AuthenticationClient.java b/services/core/java/com/android/server/fingerprint/AuthenticationClient.java
index 87da866..5297589 100644
--- a/services/core/java/com/android/server/fingerprint/AuthenticationClient.java
+++ b/services/core/java/com/android/server/fingerprint/AuthenticationClient.java
@@ -115,6 +115,7 @@
             final int result = daemon.authenticate(mOpId, getGroupId());
             if (result != 0) {
                 Slog.w(TAG, "startAuthentication failed, result=" + result);
+                MetricsLogger.histogram(getContext(), "fingeprintd_auth_start_error", result);
                 onError(FingerprintManager.FINGERPRINT_ERROR_HW_UNAVAILABLE);
                 return result;
             }