Naming consistency: MediaAnalytics to MediaMetrics

Bug: 145780674
Test: build, boot, dumpsys media.metrics
Test: atest mediametrics_tests CtsNativeMediaMetricsTestCases
Change-Id: Icbfa98da9e61702aee9a1d807b5e126b4b9c6458
diff --git a/services/mediametrics/AudioAnalytics.cpp b/services/mediametrics/AudioAnalytics.cpp
index 638c4ab..fffe517 100644
--- a/services/mediametrics/AudioAnalytics.cpp
+++ b/services/mediametrics/AudioAnalytics.cpp
@@ -35,7 +35,7 @@
 }
 
 status_t AudioAnalytics::submit(
-        const std::shared_ptr<const MediaAnalyticsItem>& item, bool isTrusted)
+        const std::shared_ptr<const mediametrics::Item>& item, bool isTrusted)
 {
     if (startsWith(item->getKey(), "audio.")) {
         return mTimeMachine.put(item, isTrusted)
diff --git a/services/mediametrics/AudioAnalytics.h b/services/mediametrics/AudioAnalytics.h
index 366a809..b931258 100644
--- a/services/mediametrics/AudioAnalytics.h
+++ b/services/mediametrics/AudioAnalytics.h
@@ -43,7 +43,7 @@
      *        UID to be a system service by MediaMetrics service.
      *        Do not use true if you haven't really checked!
      */
-    status_t submit(const std::shared_ptr<const MediaAnalyticsItem>& item, bool isTrusted);
+    status_t submit(const std::shared_ptr<const mediametrics::Item>& item, bool isTrusted);
 
     /**
      * Returns a pair consisting of the dump string, and the number of lines in the string.
diff --git a/services/mediametrics/MediaMetricsService.cpp b/services/mediametrics/MediaMetricsService.cpp
index b735b81..bbd13fa 100644
--- a/services/mediametrics/MediaMetricsService.cpp
+++ b/services/mediametrics/MediaMetricsService.cpp
@@ -15,7 +15,7 @@
  */
 
 //#define LOG_NDEBUG 0
-#define LOG_TAG "MediaAnalyticsService"
+#define LOG_TAG "MediaMetricsService"
 #include <utils/Log.h>
 
 #include "MediaMetricsService.h"
@@ -52,21 +52,21 @@
 // TODO: need to look at tuning kMaxRecords and friends for low-memory devices
 
 /* static */
-nsecs_t MediaAnalyticsService::roundTime(nsecs_t timeNs)
+nsecs_t MediaMetricsService::roundTime(nsecs_t timeNs)
 {
     return (timeNs + NANOS_PER_SECOND / 2) / NANOS_PER_SECOND * NANOS_PER_SECOND;
 }
 
-MediaAnalyticsService::MediaAnalyticsService()
+MediaMetricsService::MediaMetricsService()
         : mMaxRecords(kMaxRecords),
           mMaxRecordAgeNs(kMaxRecordAgeNs),
           mMaxRecordsExpiredAtOnce(kMaxExpiredAtOnce),
-          mDumpProtoDefault(MediaAnalyticsItem::PROTO_V1)
+          mDumpProtoDefault(mediametrics::Item::PROTO_V1)
 {
     ALOGD("%s", __func__);
 }
 
-MediaAnalyticsService::~MediaAnalyticsService()
+MediaMetricsService::~MediaMetricsService()
 {
     ALOGD("%s", __func__);
     // the class destructor clears anyhow, but we enforce clearing items first.
@@ -74,7 +74,7 @@
     mItems.clear();
 }
 
-status_t MediaAnalyticsService::submitInternal(MediaAnalyticsItem *item, bool release)
+status_t MediaMetricsService::submitInternal(mediametrics::Item *item, bool release)
 {
     // calling PID is 0 for one-way calls.
     const pid_t pid = IPCThreadState::self()->getCallingPid();
@@ -157,23 +157,23 @@
     }
 
     // now attach either the item or its dup to a const shared pointer
-    std::shared_ptr<const MediaAnalyticsItem> sitem(release ? item : item->dup());
+    std::shared_ptr<const mediametrics::Item> sitem(release ? item : item->dup());
 
     (void)mAudioAnalytics.submit(sitem, isTrusted);
 
-    extern bool dump2Statsd(const std::shared_ptr<const MediaAnalyticsItem>& item);
+    extern bool dump2Statsd(const std::shared_ptr<const mediametrics::Item>& item);
     (void)dump2Statsd(sitem);  // failure should be logged in function.
     saveItem(sitem);
     return NO_ERROR;
 }
 
-status_t MediaAnalyticsService::dump(int fd, const Vector<String16>& args)
+status_t MediaMetricsService::dump(int fd, const Vector<String16>& args)
 {
     String8 result;
 
     if (checkCallingPermission(String16("android.permission.DUMP")) == false) {
         result.appendFormat("Permission Denial: "
-                "can't dump MediaAnalyticsService from pid=%d, uid=%d\n",
+                "can't dump MediaMetricsService from pid=%d, uid=%d\n",
                 IPCThreadState::self()->getCallingPid(),
                 IPCThreadState::self()->getCallingUid());
         write(fd, result.string(), result.size());
@@ -198,15 +198,15 @@
             i++;
             if (i < n) {
                 String8 value(args[i]);
-                int proto = MediaAnalyticsItem::PROTO_V0;
+                int proto = mediametrics::Item::PROTO_V0;
                 char *endp;
                 const char *p = value.string();
                 proto = strtol(p, &endp, 10);
                 if (endp != p || *endp == '\0') {
-                    if (proto < MediaAnalyticsItem::PROTO_FIRST) {
-                        proto = MediaAnalyticsItem::PROTO_FIRST;
-                    } else if (proto > MediaAnalyticsItem::PROTO_LAST) {
-                        proto = MediaAnalyticsItem::PROTO_LAST;
+                    if (proto < mediametrics::Item::PROTO_FIRST) {
+                        proto = mediametrics::Item::PROTO_FIRST;
+                    } else if (proto > mediametrics::Item::PROTO_LAST) {
+                        proto = mediametrics::Item::PROTO_LAST;
                     }
                     chosenProto = proto;
                 } else {
@@ -275,10 +275,10 @@
 }
 
 // dump headers
-void MediaAnalyticsService::dumpHeaders_l(String8 &result, int dumpProto, nsecs_t ts_since)
+void MediaMetricsService::dumpHeaders_l(String8 &result, int dumpProto, nsecs_t ts_since)
 {
     result.appendFormat("Protocol Version: %d\n", dumpProto);
-    if (MediaAnalyticsItem::isEnabled()) {
+    if (mediametrics::Item::isEnabled()) {
         result.append("Metrics gathering: enabled\n");
     } else {
         result.append("Metrics gathering: DISABLED via property\n");
@@ -297,7 +297,7 @@
     }
 }
 
-void MediaAnalyticsService::dumpRecent_l(
+void MediaMetricsService::dumpRecent_l(
         String8 &result, int dumpProto, nsecs_t ts_since, const char * only)
 {
     if (only != nullptr && *only == '\0') {
@@ -311,11 +311,11 @@
     // talk about # records we discarded, perhaps "discarded w/o reading" too
 }
 
-void MediaAnalyticsService::dumpQueue_l(String8 &result, int dumpProto) {
+void MediaMetricsService::dumpQueue_l(String8 &result, int dumpProto) {
     dumpQueue_l(result, dumpProto, (nsecs_t) 0, nullptr /* only */);
 }
 
-void MediaAnalyticsService::dumpQueue_l(
+void MediaMetricsService::dumpQueue_l(
         String8 &result, int dumpProto, nsecs_t ts_since, const char * only) {
     int slot = 0;
 
@@ -346,7 +346,7 @@
 
 // if item != NULL, it's the item we just inserted
 // true == more items eligible to be recovered
-bool MediaAnalyticsService::expirations_l(const std::shared_ptr<const MediaAnalyticsItem>& item)
+bool MediaMetricsService::expirations_l(const std::shared_ptr<const mediametrics::Item>& item)
 {
     bool more = false;
 
@@ -395,7 +395,7 @@
     return more;
 }
 
-void MediaAnalyticsService::processExpirations()
+void MediaMetricsService::processExpirations()
 {
     bool more;
     do {
@@ -405,7 +405,7 @@
     } while (more);
 }
 
-void MediaAnalyticsService::saveItem(const std::shared_ptr<const MediaAnalyticsItem>& item)
+void MediaMetricsService::saveItem(const std::shared_ptr<const mediametrics::Item>& item)
 {
     std::lock_guard _l(mLock);
     // we assume the items are roughly in time order.
@@ -419,7 +419,7 @@
 }
 
 /* static */
-bool MediaAnalyticsService::isContentValid(const MediaAnalyticsItem *item, bool isTrusted)
+bool MediaMetricsService::isContentValid(const mediametrics::Item *item, bool isTrusted)
 {
     if (isTrusted) return true;
     // untrusted uids can only send us a limited set of keys
@@ -445,7 +445,7 @@
 }
 
 // are we rate limited, normally false
-bool MediaAnalyticsService::isRateLimited(MediaAnalyticsItem *) const
+bool MediaMetricsService::isRateLimited(mediametrics::Item *) const
 {
     return false;
 }
@@ -455,8 +455,8 @@
 
 // give me the package name, perhaps going to find it
 // manages its own mutex operations internally
-void MediaAnalyticsService::UidInfo::setPkgInfo(
-        MediaAnalyticsItem *item, uid_t uid, bool setName, bool setVersion)
+void MediaMetricsService::UidInfo::setPkgInfo(
+        mediametrics::Item *item, uid_t uid, bool setName, bool setVersion)
 {
     ALOGV("%s: uid=%d", __func__, uid);
 
diff --git a/services/mediametrics/MediaMetricsService.h b/services/mediametrics/MediaMetricsService.h
index 5bdc48f..b736c30 100644
--- a/services/mediametrics/MediaMetricsService.h
+++ b/services/mediametrics/MediaMetricsService.h
@@ -22,19 +22,19 @@
 #include <mutex>
 #include <unordered_map>
 
-// IMediaAnalyticsService must include Vector, String16, Errors
-#include <media/IMediaAnalyticsService.h>
+// IMediaMetricsService must include Vector, String16, Errors
+#include <media/IMediaMetricsService.h>
 #include <utils/String8.h>
 
 #include "AudioAnalytics.h"
 
 namespace android {
 
-class MediaAnalyticsService : public BnMediaAnalyticsService
+class MediaMetricsService : public BnMediaMetricsService
 {
 public:
-    MediaAnalyticsService();
-    ~MediaAnalyticsService() override;
+    MediaMetricsService();
+    ~MediaMetricsService() override;
 
     /**
      * Submits the indicated record to the mediaanalytics service.
@@ -43,12 +43,12 @@
      * \return status failure, which is negative on binder transaction failure.
      *         As the transaction is one-way, remote failures will not be reported.
      */
-    status_t submit(MediaAnalyticsItem *item) override {
+    status_t submit(mediametrics::Item *item) override {
         return submitInternal(item, false /* release */);
     }
 
     status_t submitBuffer(const char *buffer, size_t length) override {
-        MediaAnalyticsItem *item = new MediaAnalyticsItem();
+        mediametrics::Item *item = new mediametrics::Item();
         return item->readFromByteString(buffer, length)
                 ?: submitInternal(item, true /* release */);
     }
@@ -66,17 +66,17 @@
 
     // Internal call where release is true if ownership of item is transferred
     // to the service (that is, the service will eventually delete the item).
-    status_t submitInternal(MediaAnalyticsItem *item, bool release) override;
+    status_t submitInternal(mediametrics::Item *item, bool release) override;
 
 private:
     void processExpirations();
     // input validation after arrival from client
-    static bool isContentValid(const MediaAnalyticsItem *item, bool isTrusted);
-    bool isRateLimited(MediaAnalyticsItem *) const;
-    void saveItem(const std::shared_ptr<const MediaAnalyticsItem>& item);
+    static bool isContentValid(const mediametrics::Item *item, bool isTrusted);
+    bool isRateLimited(mediametrics::Item *) const;
+    void saveItem(const std::shared_ptr<const mediametrics::Item>& item);
 
     // The following methods are GUARDED_BY(mLock)
-    bool expirations_l(const std::shared_ptr<const MediaAnalyticsItem>& item);
+    bool expirations_l(const std::shared_ptr<const mediametrics::Item>& item);
 
     // support for generating output
     void dumpQueue_l(String8 &result, int dumpProto);
@@ -98,7 +98,7 @@
 
     class UidInfo {
     public:
-        void setPkgInfo(MediaAnalyticsItem *item, uid_t uid, bool setName, bool setVersion);
+        void setPkgInfo(mediametrics::Item *item, uid_t uid, bool setName, bool setVersion);
 
     private:
         std::mutex mUidInfoLock;
@@ -132,7 +132,7 @@
     // Our item queue, generally (oldest at front)
     // TODO: Make separate class, use segmented queue, write lock only end.
     // Note: Another analytics module might have ownership of an item longer than the log.
-    std::deque<std::shared_ptr<const MediaAnalyticsItem>> mItems; // GUARDED_BY(mLock)
+    std::deque<std::shared_ptr<const mediametrics::Item>> mItems; // GUARDED_BY(mLock)
 };
 
 } // namespace android
diff --git a/services/mediametrics/TimeMachine.h b/services/mediametrics/TimeMachine.h
index 578b838..0cd8dc6 100644
--- a/services/mediametrics/TimeMachine.h
+++ b/services/mediametrics/TimeMachine.h
@@ -23,7 +23,7 @@
 #include <variant>
 #include <vector>
 
-#include <media/MediaAnalyticsItem.h>
+#include <media/MediaMetricsItem.h>
 #include <utils/Timers.h>
 
 namespace android::mediametrics {
@@ -101,7 +101,7 @@
         }
 
         void putProp(
-                const std::string &name, const MediaAnalyticsItem::Prop &prop, int64_t time = 0) {
+                const std::string &name, const mediametrics::Item::Prop &prop, int64_t time = 0) {
             prop.visit([&](auto value) { putValue(name, value, time); });
         }
 
@@ -188,7 +188,7 @@
     /**
      * Put all the properties from an item into the Time Machine log.
      */
-    status_t put(const std::shared_ptr<const MediaAnalyticsItem>& item, bool isTrusted = false) {
+    status_t put(const std::shared_ptr<const mediametrics::Item>& item, bool isTrusted = false) {
         const int64_t time = item->getTimestamp();
         const std::string &key = item->getKey();
 
@@ -214,7 +214,7 @@
         }
 
         // deferred contains remote properties (for other keys) to do later.
-        std::vector<const MediaAnalyticsItem::Prop *> deferred;
+        std::vector<const mediametrics::Item::Prop *> deferred;
         {
             // handle local properties
             std::lock_guard lock(getLockForKey(key));
diff --git a/services/mediametrics/TransactionLog.h b/services/mediametrics/TransactionLog.h
index ca37862..7a520d9 100644
--- a/services/mediametrics/TransactionLog.h
+++ b/services/mediametrics/TransactionLog.h
@@ -21,12 +21,12 @@
 #include <sstream>
 #include <string>
 
-#include <media/MediaAnalyticsItem.h>
+#include <media/MediaMetricsItem.h>
 
 namespace android::mediametrics {
 
 /**
- * The TransactionLog is used to record MediaAnalyticsItems to present
+ * The TransactionLog is used to record mediametrics::Items to present
  * different views on the time information (selected by audio, and sorted by key).
  *
  * The TransactionLog will always present data in timestamp order. (Perhaps we
@@ -61,7 +61,7 @@
     /**
      * Put an item in the TransactionLog.
      */
-    status_t put(const std::shared_ptr<const MediaAnalyticsItem>& item) {
+    status_t put(const std::shared_ptr<const mediametrics::Item>& item) {
         const std::string& key = item->getKey();
         const int64_t time = item->getTimestamp();
 
@@ -77,7 +77,7 @@
     /**
      * Returns all records within [startTime, endTime]
      */
-    std::vector<std::shared_ptr<const MediaAnalyticsItem>> get(
+    std::vector<std::shared_ptr<const mediametrics::Item>> get(
             int64_t startTime = 0, int64_t endTime = INT64_MAX) const {
         std::lock_guard lock(mLock);
         return getItemsInRange_l(mLog, startTime, endTime);
@@ -86,7 +86,7 @@
     /**
      * Returns all records for a key within [startTime, endTime]
      */
-    std::vector<std::shared_ptr<const MediaAnalyticsItem>> get(
+    std::vector<std::shared_ptr<const mediametrics::Item>> get(
             const std::string& key,
             int64_t startTime = 0, int64_t endTime = INT64_MAX) const {
         std::lock_guard lock(mLock);
@@ -158,7 +158,7 @@
 
 private:
     using MapTimeItem =
-            std::multimap<int64_t /* time */, std::shared_ptr<const MediaAnalyticsItem>>;
+            std::multimap<int64_t /* time */, std::shared_ptr<const mediametrics::Item>>;
 
     // GUARDED_BY mLock
     /**
@@ -179,7 +179,7 @@
         // remove at least those elements.
 
         // use a stale vector with precise type to avoid type erasure overhead in garbage
-        std::vector<std::shared_ptr<const MediaAnalyticsItem>> stale;
+        std::vector<std::shared_ptr<const mediametrics::Item>> stale;
 
         for (size_t i = 0; i < toRemove; ++i) {
             stale.emplace_back(std::move(eraseEnd->second));
@@ -224,7 +224,7 @@
         return true;
     }
 
-    static std::vector<std::shared_ptr<const MediaAnalyticsItem>> getItemsInRange_l(
+    static std::vector<std::shared_ptr<const mediametrics::Item>> getItemsInRange_l(
             const MapTimeItem& map,
             int64_t startTime = 0, int64_t endTime = INT64_MAX) {
         auto it = map.lower_bound(startTime);
@@ -232,7 +232,7 @@
 
         auto it2 = map.upper_bound(endTime);
 
-        std::vector<std::shared_ptr<const MediaAnalyticsItem>> ret;
+        std::vector<std::shared_ptr<const mediametrics::Item>> ret;
         while (it != it2) {
             ret.push_back(it->second);
             ++it;
diff --git a/services/mediametrics/iface_statsd.cpp b/services/mediametrics/iface_statsd.cpp
index 962cafe..3a1eea7 100644
--- a/services/mediametrics/iface_statsd.cpp
+++ b/services/mediametrics/iface_statsd.cpp
@@ -38,10 +38,10 @@
 
 namespace android {
 
-// set of routines that crack a MediaAnalyticsItem
+// set of routines that crack a mediametrics::Item
 // and send it off to statsd with the appropriate hooks
 //
-// each MediaAnalyticsItem type (extractor, codec, nuplayer, etc)
+// each mediametrics::Item type (extractor, codec, nuplayer, etc)
 // has its own routine to handle this.
 //
 
@@ -49,7 +49,7 @@
 
 struct statsd_hooks {
     const char *key;
-    bool (*handler)(const MediaAnalyticsItem *);
+    bool (*handler)(const mediametrics::Item *);
 };
 
 // keep this sorted, so we can do binary searches
@@ -70,7 +70,7 @@
 };
 
 // give me a record, i'll look at the type and upload appropriately
-bool dump2Statsd(const std::shared_ptr<const MediaAnalyticsItem>& item) {
+bool dump2Statsd(const std::shared_ptr<const mediametrics::Item>& item) {
     if (item == NULL) return false;
 
     // get the key
diff --git a/services/mediametrics/iface_statsd.h b/services/mediametrics/iface_statsd.h
index 1c48118..19505a4 100644
--- a/services/mediametrics/iface_statsd.h
+++ b/services/mediametrics/iface_statsd.h
@@ -19,17 +19,17 @@
 extern bool enabled_statsd;
 
 // component specific dumpers
-extern bool statsd_audiopolicy(const MediaAnalyticsItem *);
-extern bool statsd_audiorecord(const MediaAnalyticsItem *);
-extern bool statsd_audiothread(const MediaAnalyticsItem *);
-extern bool statsd_audiotrack(const MediaAnalyticsItem *);
-extern bool statsd_codec(const MediaAnalyticsItem *);
-extern bool statsd_extractor(const MediaAnalyticsItem *);
-extern bool statsd_nuplayer(const MediaAnalyticsItem *);
-extern bool statsd_recorder(const MediaAnalyticsItem *);
+extern bool statsd_audiopolicy(const mediametrics::Item *);
+extern bool statsd_audiorecord(const mediametrics::Item *);
+extern bool statsd_audiothread(const mediametrics::Item *);
+extern bool statsd_audiotrack(const mediametrics::Item *);
+extern bool statsd_codec(const mediametrics::Item *);
+extern bool statsd_extractor(const mediametrics::Item *);
+extern bool statsd_nuplayer(const mediametrics::Item *);
+extern bool statsd_recorder(const mediametrics::Item *);
 
-extern bool statsd_mediadrm(const MediaAnalyticsItem *);
-extern bool statsd_widevineCDM(const MediaAnalyticsItem *);
-extern bool statsd_drmmanager(const MediaAnalyticsItem *);
+extern bool statsd_mediadrm(const mediametrics::Item *);
+extern bool statsd_widevineCDM(const mediametrics::Item *);
+extern bool statsd_drmmanager(const mediametrics::Item *);
 
 } // namespace android
diff --git a/services/mediametrics/main_mediametrics.cpp b/services/mediametrics/main_mediametrics.cpp
index 4b2a9fa..ec392e2 100644
--- a/services/mediametrics/main_mediametrics.cpp
+++ b/services/mediametrics/main_mediametrics.cpp
@@ -34,10 +34,10 @@
     // to match the service name
     // we're replacing "/system/bin/mediametrics" with "media.metrics"
     // we add a ".", but discard the path components: we finish with a shorter string
-    strcpy(argv[0], MediaAnalyticsService::kServiceName);
+    strcpy(argv[0], MediaMetricsService::kServiceName);
 
     defaultServiceManager()->addService(
-            String16(MediaAnalyticsService::kServiceName), new MediaAnalyticsService());
+            String16(MediaMetricsService::kServiceName), new MediaMetricsService());
 
     sp<ProcessState> processState(ProcessState::self());
     // processState->setThreadPoolMaxThreadCount(8);
diff --git a/services/mediametrics/statsd_audiopolicy.cpp b/services/mediametrics/statsd_audiopolicy.cpp
index 2f934f8..634c801 100644
--- a/services/mediametrics/statsd_audiopolicy.cpp
+++ b/services/mediametrics/statsd_audiopolicy.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_audiopolicy(const MediaAnalyticsItem *item)
+bool statsd_audiopolicy(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_audiorecord.cpp b/services/mediametrics/statsd_audiorecord.cpp
index 4e2829d..69d1661 100644
--- a/services/mediametrics/statsd_audiorecord.cpp
+++ b/services/mediametrics/statsd_audiorecord.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_audiorecord(const MediaAnalyticsItem *item)
+bool statsd_audiorecord(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_audiothread.cpp b/services/mediametrics/statsd_audiothread.cpp
index a5bfcba..300151b 100644
--- a/services/mediametrics/statsd_audiothread.cpp
+++ b/services/mediametrics/statsd_audiothread.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_audiothread(const MediaAnalyticsItem *item)
+bool statsd_audiothread(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_audiotrack.cpp b/services/mediametrics/statsd_audiotrack.cpp
index 9d76d43..397cdf3 100644
--- a/services/mediametrics/statsd_audiotrack.cpp
+++ b/services/mediametrics/statsd_audiotrack.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_audiotrack(const MediaAnalyticsItem *item)
+bool statsd_audiotrack(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_codec.cpp b/services/mediametrics/statsd_codec.cpp
index fde0bfa..214c51a 100644
--- a/services/mediametrics/statsd_codec.cpp
+++ b/services/mediametrics/statsd_codec.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_codec(const MediaAnalyticsItem *item)
+bool statsd_codec(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_drm.cpp b/services/mediametrics/statsd_drm.cpp
index 78d0a22..b12f4f3 100644
--- a/services/mediametrics/statsd_drm.cpp
+++ b/services/mediametrics/statsd_drm.cpp
@@ -38,11 +38,11 @@
 namespace android {
 
 // mediadrm
-bool statsd_mediadrm(const MediaAnalyticsItem *item)
+bool statsd_mediadrm(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
@@ -75,11 +75,11 @@
 }
 
 // widevineCDM
-bool statsd_widevineCDM(const MediaAnalyticsItem *item)
+bool statsd_widevineCDM(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
@@ -105,11 +105,11 @@
 }
 
 // drmmanager
-bool statsd_drmmanager(const MediaAnalyticsItem *item)
+bool statsd_drmmanager(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_extractor.cpp b/services/mediametrics/statsd_extractor.cpp
index cc62241..8574358 100644
--- a/services/mediametrics/statsd_extractor.cpp
+++ b/services/mediametrics/statsd_extractor.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_extractor(const MediaAnalyticsItem *item)
+bool statsd_extractor(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_nuplayer.cpp b/services/mediametrics/statsd_nuplayer.cpp
index 9db1e81..df7e59f 100644
--- a/services/mediametrics/statsd_nuplayer.cpp
+++ b/services/mediametrics/statsd_nuplayer.cpp
@@ -41,12 +41,12 @@
  *  handles nuplayer AND nuplayer2
  *  checks for the union of what the two players generate
  */
-bool statsd_nuplayer(const MediaAnalyticsItem *item)
+bool statsd_nuplayer(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/statsd_recorder.cpp b/services/mediametrics/statsd_recorder.cpp
index 972a221..4de1746 100644
--- a/services/mediametrics/statsd_recorder.cpp
+++ b/services/mediametrics/statsd_recorder.cpp
@@ -37,12 +37,12 @@
 
 namespace android {
 
-bool statsd_recorder(const MediaAnalyticsItem *item)
+bool statsd_recorder(const mediametrics::Item *item)
 {
     if (item == NULL) return false;
 
     // these go into the statsd wrapper
-    const nsecs_t timestamp = MediaAnalyticsService::roundTime(item->getTimestamp());
+    const nsecs_t timestamp = MediaMetricsService::roundTime(item->getTimestamp());
     std::string pkgName = item->getPkgName();
     int64_t pkgVersionCode = item->getPkgVersionCode();
     int64_t mediaApexVersion = 0;
diff --git a/services/mediametrics/tests/mediametrics_tests.cpp b/services/mediametrics/tests/mediametrics_tests.cpp
index 808da7b..285a1ba 100644
--- a/services/mediametrics/tests/mediametrics_tests.cpp
+++ b/services/mediametrics/tests/mediametrics_tests.cpp
@@ -22,7 +22,7 @@
 #include <stdio.h>
 
 #include <gtest/gtest.h>
-#include <media/MediaAnalyticsItem.h>
+#include <media/MediaMetricsItem.h>
 
 using namespace android;
 
@@ -36,11 +36,11 @@
 }
 
 TEST(mediametrics_tests, instantiate) {
-  sp mediaMetrics = new MediaAnalyticsService();
+  sp mediaMetrics = new MediaMetricsService();
   status_t status;
 
   // random keys ignored when empty
-  std::unique_ptr<MediaAnalyticsItem> random_key(MediaAnalyticsItem::create("random_key"));
+  std::unique_ptr<mediametrics::Item> random_key(mediametrics::Item::create("random_key"));
   status = mediaMetrics->submit(random_key.get());
   ASSERT_EQ(PERMISSION_DENIED, status);
 
@@ -50,7 +50,7 @@
   ASSERT_EQ(PERMISSION_DENIED, status);
 
   // known keys ignored if empty
-  std::unique_ptr<MediaAnalyticsItem> audiotrack_key(MediaAnalyticsItem::create("audiotrack"));
+  std::unique_ptr<mediametrics::Item> audiotrack_key(mediametrics::Item::create("audiotrack"));
   status = mediaMetrics->submit(audiotrack_key.get());
   ASSERT_EQ(BAD_VALUE, status);
 
@@ -62,7 +62,7 @@
 
   /*
   // fluent style that goes directly to mediametrics
-  ASSERT_EQ(true, MediaAnalyticsItem("audiorecord")
+  ASSERT_EQ(true, mediametrics::Item("audiorecord")
                      .setInt32("value", 2)
                      .addInt32("bar", 1)
                      .addInt32("value", 3)
@@ -73,7 +73,7 @@
 }
 
 TEST(mediametrics_tests, item_manipulation) {
-  MediaAnalyticsItem item("audiorecord");
+  mediametrics::Item item("audiorecord");
 
   item.setInt32("value", 2).addInt32("bar", 3).addInt32("value", 4);
 
@@ -128,14 +128,14 @@
   printf("item: %s\n", item.toString().c_str());
   fflush(stdout);
 
-  sp mediaMetrics = new MediaAnalyticsService();
+  sp mediaMetrics = new MediaMetricsService();
   status_t status = mediaMetrics->submit(&item);
   ASSERT_EQ(NO_ERROR, status);
   mediaMetrics->dump(fileno(stdout), {} /* args */);
 }
 
 TEST(mediametrics_tests, superbig_item) {
-  MediaAnalyticsItem item("TheBigOne");
+  mediametrics::Item item("TheBigOne");
   constexpr size_t count = 10000;
 
   for (size_t i = 0; i < count; ++i) {
@@ -149,7 +149,7 @@
 }
 
 TEST(mediametrics_tests, superbig_item_removal) {
-  MediaAnalyticsItem item("TheOddBigOne");
+  mediametrics::Item item("TheOddBigOne");
   constexpr size_t count = 10000;
 
   for (size_t i = 0; i < count; ++i) {
@@ -170,7 +170,7 @@
 }
 
 TEST(mediametrics_tests, superbig_item_removal2) {
-  MediaAnalyticsItem item("TheOne");
+  mediametrics::Item item("TheOne");
   constexpr size_t count = 10000;
 
   for (size_t i = 0; i < count; ++i) {
@@ -191,7 +191,7 @@
 }
 
 TEST(mediametrics_tests, item_transmutation) {
-  MediaAnalyticsItem item("Alchemist's Stone");
+  mediametrics::Item item("Alchemist's Stone");
 
   item.setInt64("convert", 123);
   int64_t i64;
@@ -207,7 +207,7 @@
 }
 
 TEST(mediametrics_tests, item_binderization) {
-  MediaAnalyticsItem item;
+  mediametrics::Item item;
   item.setInt32("i32", 1)
       .setInt64("i64", 2)
       .setDouble("double", 3.1)
@@ -218,14 +218,14 @@
   item.writeToParcel(&p);
 
   p.setDataPosition(0); // rewind for reading
-  MediaAnalyticsItem item2;
+  mediametrics::Item item2;
   item2.readFromParcel(p);
 
   ASSERT_EQ(item, item2);
 }
 
 TEST(mediametrics_tests, item_byteserialization) {
-  MediaAnalyticsItem item;
+  mediametrics::Item item;
   item.setInt32("i32", 1)
       .setInt64("i64", 2)
       .setDouble("double", 3.1)
@@ -237,7 +237,7 @@
   ASSERT_EQ(0, item.writeToByteString(&data, &length));
   ASSERT_GT(length, (size_t)0);
 
-  MediaAnalyticsItem item2;
+  mediametrics::Item item2;
   item2.readFromByteString(data, length);
 
   printf("item: %s\n", item.toString().c_str());
@@ -248,7 +248,7 @@
 }
 
 TEST(mediametrics_tests, item_iteration) {
-  MediaAnalyticsItem item;
+  mediametrics::Item item;
   item.setInt32("i32", 1)
       .setInt64("i64", 2)
       .setDouble("double", 3.125)
@@ -292,7 +292,7 @@
 }
 
 TEST(mediametrics_tests, item_expansion) {
-  mediametrics::Item<1> item("I");
+  mediametrics::LogItem<1> item("I");
   item.set("i32", (int32_t)1)
       .set("i64", (int64_t)2)
       .set("double", (double)3.125)
@@ -300,7 +300,7 @@
       .set("rate", std::pair<int64_t, int64_t>(11, 12));
   ASSERT_TRUE(item.updateHeader());
 
-  MediaAnalyticsItem item2;
+  mediametrics::Item item2;
   item2.readFromByteString(item.getBuffer(), item.getLength());
   ASSERT_EQ((pid_t)-1, item2.getPid());
   ASSERT_EQ((uid_t)-1, item2.getUid());
@@ -341,7 +341,7 @@
 }
 
 TEST(mediametrics_tests, item_expansion2) {
-  mediametrics::Item<1> item("Bigly");
+  mediametrics::LogItem<1> item("Bigly");
   item.setPid(123)
       .setUid(456);
   constexpr size_t count = 10000;
@@ -352,7 +352,7 @@
   }
   ASSERT_TRUE(item.updateHeader());
 
-  MediaAnalyticsItem item2;
+  mediametrics::Item item2;
   printf("begin buffer:%p  length:%zu\n", item.getBuffer(), item.getLength());
   fflush(stdout);
   item2.readFromByteString(item.getBuffer(), item.getLength());
@@ -367,7 +367,7 @@
 }
 
 TEST(mediametrics_tests, time_machine_storage) {
-  auto item = std::make_shared<MediaAnalyticsItem>("Key");
+  auto item = std::make_shared<mediametrics::Item>("Key");
   (*item).set("i32", (int32_t)1)
       .set("i64", (int64_t)2)
       .set("double", (double)3.125)
@@ -414,21 +414,21 @@
 }
 
 TEST(mediametrics_tests, time_machine_remote_key) {
-  auto item = std::make_shared<MediaAnalyticsItem>("Key1");
+  auto item = std::make_shared<mediametrics::Item>("Key1");
   (*item).set("one", (int32_t)1)
          .set("two", (int32_t)2);
 
   android::mediametrics::TimeMachine timeMachine;
   ASSERT_EQ(NO_ERROR, timeMachine.put(item, true));
 
-  auto item2 = std::make_shared<MediaAnalyticsItem>("Key2");
+  auto item2 = std::make_shared<mediametrics::Item>("Key2");
   (*item2).set("three", (int32_t)3)
          .set("[Key1]four", (int32_t)4)   // affects Key1
          .set("[Key1]five", (int32_t)5);  // affects key1
 
   ASSERT_EQ(NO_ERROR, timeMachine.put(item2, true));
 
-  auto item3 = std::make_shared<MediaAnalyticsItem>("Key2");
+  auto item3 = std::make_shared<mediametrics::Item>("Key2");
   (*item3).set("six", (int32_t)6)
          .set("[Key1]seven", (int32_t)7);   // affects Key1
 
@@ -464,7 +464,7 @@
 }
 
 TEST(mediametrics_tests, time_machine_gc) {
-  auto item = std::make_shared<MediaAnalyticsItem>("Key1");
+  auto item = std::make_shared<mediametrics::Item>("Key1");
   (*item).set("one", (int32_t)1)
          .set("two", (int32_t)2)
          .setTimestamp(10);
@@ -477,7 +477,7 @@
 
   ASSERT_EQ((size_t)1, timeMachine.size());
 
-  auto item2 = std::make_shared<MediaAnalyticsItem>("Key2");
+  auto item2 = std::make_shared<mediametrics::Item>("Key2");
   (*item2).set("three", (int32_t)3)
          .set("[Key1]three", (int32_t)3)
          .setTimestamp(11);
@@ -487,7 +487,7 @@
 
   //printf("Before\n%s\n\n", timeMachine.dump().c_str());
 
-  auto item3 = std::make_shared<MediaAnalyticsItem>("Key3");
+  auto item3 = std::make_shared<mediametrics::Item>("Key3");
   (*item3).set("six", (int32_t)6)
           .set("[Key1]four", (int32_t)4)   // affects Key1
           .set("[Key1]five", (int32_t)5)   // affects key1
@@ -515,7 +515,7 @@
 }
 
 TEST(mediametrics_tests, transaction_log_gc) {
-  auto item = std::make_shared<MediaAnalyticsItem>("Key1");
+  auto item = std::make_shared<mediametrics::Item>("Key1");
   (*item).set("one", (int32_t)1)
          .set("two", (int32_t)2)
          .setTimestamp(10);
@@ -526,7 +526,7 @@
   ASSERT_EQ(NO_ERROR, transactionLog.put(item));
   ASSERT_EQ((size_t)1, transactionLog.size());
 
-  auto item2 = std::make_shared<MediaAnalyticsItem>("Key2");
+  auto item2 = std::make_shared<mediametrics::Item>("Key2");
   (*item2).set("three", (int32_t)3)
          .set("[Key1]three", (int32_t)3)
          .setTimestamp(11);
@@ -534,7 +534,7 @@
   ASSERT_EQ(NO_ERROR, transactionLog.put(item2));
   ASSERT_EQ((size_t)2, transactionLog.size());
 
-  auto item3 = std::make_shared<MediaAnalyticsItem>("Key3");
+  auto item3 = std::make_shared<mediametrics::Item>("Key3");
   (*item3).set("six", (int32_t)6)
           .set("[Key1]four", (int32_t)4)   // affects Key1
           .set("[Key1]five", (int32_t)5)   // affects key1
@@ -545,16 +545,16 @@
 }
 
 TEST(mediametrics_tests, audio_analytics_permission) {
-  auto item = std::make_shared<MediaAnalyticsItem>("audio.1");
+  auto item = std::make_shared<mediametrics::Item>("audio.1");
   (*item).set("one", (int32_t)1)
          .set("two", (int32_t)2)
          .setTimestamp(10);
 
-  auto item2 = std::make_shared<MediaAnalyticsItem>("audio.1");
+  auto item2 = std::make_shared<mediametrics::Item>("audio.1");
   (*item2).set("three", (int32_t)3)
          .setTimestamp(11);
 
-  auto item3 = std::make_shared<MediaAnalyticsItem>("audio.2");
+  auto item3 = std::make_shared<mediametrics::Item>("audio.2");
   (*item3).set("four", (int32_t)4)
           .setTimestamp(12);
 
@@ -577,16 +577,16 @@
 }
 
 TEST(mediametrics_tests, audio_analytics_dump) {
-  auto item = std::make_shared<MediaAnalyticsItem>("audio.1");
+  auto item = std::make_shared<mediametrics::Item>("audio.1");
   (*item).set("one", (int32_t)1)
          .set("two", (int32_t)2)
          .setTimestamp(10);
 
-  auto item2 = std::make_shared<MediaAnalyticsItem>("audio.1");
+  auto item2 = std::make_shared<mediametrics::Item>("audio.1");
   (*item2).set("three", (int32_t)3)
          .setTimestamp(11);
 
-  auto item3 = std::make_shared<MediaAnalyticsItem>("audio.2");
+  auto item3 = std::make_shared<mediametrics::Item>("audio.2");
   (*item3).set("four", (int32_t)4)
           .setTimestamp(12);