Monitor binder status to media.metrics service

Add code to use binder's linkToDeath() so that our clients learn when
(infrequently, we hope) the media.metrics service dies for some
reason. When this happens, arrange for the client to re-establish
its connection to the service.

Bug: 66948389
Test: kill media.metrics, watch logcat for reestablishment messages
Change-Id: Ic518b955ce6816698b21e6a9c844587cef2e2712
diff --git a/media/libmediametrics/IMediaAnalyticsService.cpp b/media/libmediametrics/IMediaAnalyticsService.cpp
index 68bafe1..28a7746 100644
--- a/media/libmediametrics/IMediaAnalyticsService.cpp
+++ b/media/libmediametrics/IMediaAnalyticsService.cpp
@@ -60,7 +60,7 @@
         data.writeInterfaceToken(IMediaAnalyticsService::getInterfaceDescriptor());
         err = remote()->transact(GENERATE_UNIQUE_SESSIONID, data, &reply);
         if (err != NO_ERROR) {
-            ALOGW("bad response from service");
+            ALOGW("bad response from service for generateSessionId, err=%d", err);
             return MediaAnalyticsItem::SessionIDInvalid;
         }
         sessionid = reply.readInt64();
@@ -94,6 +94,7 @@
 
         err = remote()->transact(SUBMIT_ITEM, data, &reply);
         if (err != NO_ERROR) {
+            ALOGW("bad response from service for submit, err=%d", err);
             return MediaAnalyticsItem::SessionIDInvalid;
         }