Refine MediaAnalytics framework

Rework some interfaces to avoid unnecessary sp<> mechanisms;
document which side of caller/callee owns pointers afterwards.
Rework internal attribute representation, add support routines.

Bug: 33547720
Test: Boot, ran subset of CTS media tests
Change-Id: Id0d65bd6a847704dc98d38be9aa5e1ce63c20e1c
diff --git a/services/mediaanalytics/main_mediaanalytics.cpp b/services/mediaanalytics/main_mediaanalytics.cpp
index ba601ee..672d13d 100644
--- a/services/mediaanalytics/main_mediaanalytics.cpp
+++ b/services/mediaanalytics/main_mediaanalytics.cpp
@@ -33,6 +33,11 @@
 {
     signal(SIGPIPE, SIG_IGN);
 
+    // to match the service name
+    // we're replacing "/system/bin/mediaanalytics" with "media.analytics"
+    // we add a ".", but discard the path components: we finish with a shorter string
+    strcpy(argv[0], "media.analytics");
+
     sp<ProcessState> proc(ProcessState::self());
     sp<IServiceManager> sm(defaultServiceManager());
     ALOGI("ServiceManager: %p", sm.get());