From 783bd0d74d142493b4ef0a15a2664535854e99f9 Mon Sep 17 00:00:00 2001 From: Ray Essick Date: Thu, 11 Jan 2018 11:10:35 -0800 Subject: [PATCH] media.metrics changes AString -> std::string change from AString to std::string for how media.metrics handles strings. This severs the dependency on libstagefright_foundation, where AString is implemented, so we can integrate into places which do not want to introduce a dependency on libstagefright_foundation. Bug: 70805723 Test: compilation/linking, CTS subset Change-Id: I66de971b6ec354444e06112607a2d7614084cef8 --- drm/libmediadrm/PluginMetricsReporting.cpp | 2 +- media/libaudioclient/Android.bp | 1 - media/libmediametrics/MediaAnalyticsItem.cpp | 20 +++++++------------ .../include/MediaAnalyticsItem.h | 18 ++++++++--------- .../mediaanalytics/MediaAnalyticsService.cpp | 14 ++++++------- .../mediaanalytics/MediaAnalyticsService.h | 4 ++-- services/mediaanalytics/MetricsSummarizer.cpp | 11 +++++----- services/mediaanalytics/MetricsSummarizer.h | 6 +++--- 8 files changed, 34 insertions(+), 42 deletions(-) diff --git a/drm/libmediadrm/PluginMetricsReporting.cpp b/drm/libmediadrm/PluginMetricsReporting.cpp index 57ff5b8207..fcff5bacf6 100644 --- a/drm/libmediadrm/PluginMetricsReporting.cpp +++ b/drm/libmediadrm/PluginMetricsReporting.cpp @@ -46,7 +46,7 @@ status_t reportMetricsGroup(const MetricsGroup& metricsGroup, // Report the package name. if (metricsGroup.has_app_package_name()) { - AString app_package_name(metricsGroup.app_package_name().c_str(), + std::string app_package_name(metricsGroup.app_package_name().c_str(), metricsGroup.app_package_name().size()); analyticsItem.setPkgName(app_package_name); } diff --git a/media/libaudioclient/Android.bp b/media/libaudioclient/Android.bp index 94253a4cde..2df37a85c1 100644 --- a/media/libaudioclient/Android.bp +++ b/media/libaudioclient/Android.bp @@ -49,7 +49,6 @@ cc_library_shared { "libaudiomanager", "libmedia_helper", "libmediametrics", - "libstagefright_foundation", ], export_shared_lib_headers: ["libbinder"], diff --git a/media/libmediametrics/MediaAnalyticsItem.cpp b/media/libmediametrics/MediaAnalyticsItem.cpp index 6b063e8099..423dfb8207 100644 --- a/media/libmediametrics/MediaAnalyticsItem.cpp +++ b/media/libmediametrics/MediaAnalyticsItem.cpp @@ -29,8 +29,6 @@ #include #include -#include - #include #include #include @@ -205,15 +203,11 @@ uid_t MediaAnalyticsItem::getUid() const { return mUid; } -MediaAnalyticsItem &MediaAnalyticsItem::setPkgName(AString pkgName) { +MediaAnalyticsItem &MediaAnalyticsItem::setPkgName(const std::string &pkgName) { mPkgName = pkgName; return *this; } -AString MediaAnalyticsItem::getPkgName() const { - return mPkgName; -} - MediaAnalyticsItem &MediaAnalyticsItem::setPkgVersionCode(int64_t pkgVersionCode) { mPkgVersionCode = pkgVersionCode; return *this; @@ -727,11 +721,11 @@ int32_t MediaAnalyticsItem::writeToParcel(Parcel *data) { } -AString MediaAnalyticsItem::toString() { +std::string MediaAnalyticsItem::toString() { return toString(-1); } -AString MediaAnalyticsItem::toString(int version) { +std::string MediaAnalyticsItem::toString(int version) { // v0 : released with 'o' // v1 : bug fix (missing pid/finalized separator), @@ -744,7 +738,7 @@ AString MediaAnalyticsItem::toString(int version) { version = PROTO_LAST; } - AString result; + std::string result; char buffer[512]; if (version == PROTO_V0) { @@ -841,7 +835,7 @@ bool MediaAnalyticsItem::selfrecord() { bool MediaAnalyticsItem::selfrecord(bool forcenew) { if (DEBUG_API) { - AString p = this->toString(); + std::string p = this->toString(); ALOGD("selfrecord of: %s [forcenew=%d]", p.c_str(), forcenew); } @@ -850,13 +844,13 @@ bool MediaAnalyticsItem::selfrecord(bool forcenew) { if (svc != NULL) { MediaAnalyticsItem::SessionID_t newid = svc->submit(this, forcenew); if (newid == SessionIDInvalid) { - AString p = this->toString(); + std::string p = this->toString(); ALOGW("Failed to record: %s [forcenew=%d]", p.c_str(), forcenew); return false; } return true; } else { - AString p = this->toString(); + std::string p = this->toString(); ALOGW("Unable to record: %s [forcenew=%d]", p.c_str(), forcenew); return false; } diff --git a/media/libmediametrics/include/MediaAnalyticsItem.h b/media/libmediametrics/include/MediaAnalyticsItem.h index ec9b660f68..79ff09329e 100644 --- a/media/libmediametrics/include/MediaAnalyticsItem.h +++ b/media/libmediametrics/include/MediaAnalyticsItem.h @@ -18,6 +18,7 @@ #define ANDROID_MEDIA_MEDIAANALYTICSITEM_H #include +#include #include #include #include @@ -25,13 +26,10 @@ #include #include -#include - namespace android { - - class IMediaAnalyticsService; +class Parcel; // the class interface // @@ -66,7 +64,7 @@ class MediaAnalyticsItem { // values can be "component/component" // basic values: "video", "audio", "drm" // XXX: need to better define the format - typedef AString Key; + typedef std::string Key; static const Key kKeyNone; // "" static const Key kKeyAny; // "*" @@ -170,8 +168,8 @@ class MediaAnalyticsItem { MediaAnalyticsItem &setUid(uid_t); uid_t getUid() const; - MediaAnalyticsItem &setPkgName(AString); - AString getPkgName() const; + MediaAnalyticsItem &setPkgName(const std::string &pkgName); + std::string getPkgName() const { return mPkgName; } MediaAnalyticsItem &setPkgVersionCode(int64_t); int64_t getPkgVersionCode() const; @@ -180,8 +178,8 @@ class MediaAnalyticsItem { int32_t writeToParcel(Parcel *); int32_t readFromParcel(const Parcel&); - AString toString(); - AString toString(int version); + std::string toString(); + std::string toString(int version); // are we collecting analytics data static bool isEnabled(); @@ -204,7 +202,7 @@ class MediaAnalyticsItem { // to help validate that A doesn't mess with B's records pid_t mPid; uid_t mUid; - AString mPkgName; + std::string mPkgName; int64_t mPkgVersionCode; // let's reuse a binder connection diff --git a/services/mediaanalytics/MediaAnalyticsService.cpp b/services/mediaanalytics/MediaAnalyticsService.cpp index 7f42b1bd5d..2954b3b3c9 100644 --- a/services/mediaanalytics/MediaAnalyticsService.cpp +++ b/services/mediaanalytics/MediaAnalyticsService.cpp @@ -389,7 +389,7 @@ status_t MediaAnalyticsService::dump(int fd, const Vector& args) nsecs_t ts_since = 0; String16 helpOption("-help"); String16 onlyOption("-only"); - AString only; + std::string only; int n = args.size(); for (int i = 0; i < n; i++) { @@ -553,7 +553,7 @@ void MediaAnalyticsService::dumpSummaries(String8 &result, nsecs_t ts_since, con if (only != NULL && strcmp(only, (*it)->getKey()) != 0) { ALOGV("Told to omit '%s'", (*it)->getKey()); } - AString distilled = (*it)->dumpSummary(slot, only); + std::string distilled = (*it)->dumpSummary(slot, only); result.append(distilled.c_str()); } } @@ -605,7 +605,7 @@ String8 MediaAnalyticsService::dumpQueue(List *theList, ns ALOGV("Omit '%s', it's not '%s'", (*it)->getKey().c_str(), only); continue; } - AString entry = (*it)->toString(mDumpProto); + std::string entry = (*it)->toString(mDumpProto); result.appendFormat("%5d: %s\n", slot, entry.c_str()); slot++; } @@ -746,7 +746,7 @@ void MediaAnalyticsService::deleteItem(List *l, MediaAnaly } } -static AString allowedKeys[] = +static std::string allowedKeys[] = { "codec", "extractor" @@ -760,7 +760,7 @@ bool MediaAnalyticsService::contentValid(MediaAnalyticsItem *item, bool isTruste // untrusted uids can only send us a limited set of keys if (isTrusted == false) { // restrict to a specific set of keys - AString key = item->getKey(); + std::string key = item->getKey(); size_t i; for(i = 0; i < nAllowedKeys; i++) { @@ -854,7 +854,7 @@ void MediaAnalyticsService::setPkgInfo(MediaAnalyticsItem *item, uid_t uid, bool return setPkgInfo(item, uid, setName, setVersion); } } else { - AString pkg; + std::string pkg; std::string installer = ""; int64_t versionCode = 0; @@ -896,7 +896,7 @@ void MediaAnalyticsService::setPkgInfo(MediaAnalyticsItem *item, uid_t uid, bool } // strip any leading "shared:" strings that came back - if (pkg.startsWith("shared:")) { + if (pkg.compare(0, 7, "shared:") == 0) { pkg.erase(0, 7); } diff --git a/services/mediaanalytics/MediaAnalyticsService.h b/services/mediaanalytics/MediaAnalyticsService.h index fce7d08b2d..1287835592 100644 --- a/services/mediaanalytics/MediaAnalyticsService.h +++ b/services/mediaanalytics/MediaAnalyticsService.h @@ -136,8 +136,8 @@ class MediaAnalyticsService : public BnMediaAnalyticsService // mapping uids to package names struct UidToPkgMap { uid_t uid; - AString pkg; - AString installer; + std::string pkg; + std::string installer; int64_t versionCode; nsecs_t expiration; }; diff --git a/services/mediaanalytics/MetricsSummarizer.cpp b/services/mediaanalytics/MetricsSummarizer.cpp index 93fe0ec70e..e7c26e37ad 100644 --- a/services/mediaanalytics/MetricsSummarizer.cpp +++ b/services/mediaanalytics/MetricsSummarizer.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include @@ -87,21 +88,21 @@ bool MetricsSummarizer::isMine(MediaAnalyticsItem &item) { if (mKey == NULL) return true; - AString itemKey = item.getKey(); + std::string itemKey = item.getKey(); if (strcmp(mKey, itemKey.c_str()) != 0) { return false; } return true; } -AString MetricsSummarizer::dumpSummary(int &slot) +std::string MetricsSummarizer::dumpSummary(int &slot) { return dumpSummary(slot, NULL); } -AString MetricsSummarizer::dumpSummary(int &slot, const char *only) +std::string MetricsSummarizer::dumpSummary(int &slot, const char *only) { - AString value = ""; + std::string value; List::iterator it = mSummaries->begin(); if (it != mSummaries->end()) { @@ -110,7 +111,7 @@ AString MetricsSummarizer::dumpSummary(int &slot, const char *only) if (only != NULL && strcmp(only, (*it)->getKey().c_str()) != 0) { continue; } - AString entry = (*it)->toString(); + std::string entry = (*it)->toString(); snprintf(buf, sizeof(buf), "%5d: ", slot); value.append(buf); value.append(entry.c_str()); diff --git a/services/mediaanalytics/MetricsSummarizer.h b/services/mediaanalytics/MetricsSummarizer.h index a9f0786e57..a16c7bc107 100644 --- a/services/mediaanalytics/MetricsSummarizer.h +++ b/services/mediaanalytics/MetricsSummarizer.h @@ -18,10 +18,10 @@ #ifndef ANDROID_METRICSSUMMARIZER_H #define ANDROID_METRICSSUMMARIZER_H +#include #include #include #include -#include #include #include @@ -49,8 +49,8 @@ class MetricsSummarizer virtual void mergeRecord(MediaAnalyticsItem &have, MediaAnalyticsItem &incoming); // dump the summarized records (for dumpsys) - AString dumpSummary(int &slot); - AString dumpSummary(int &slot, const char *only); + std::string dumpSummary(int &slot); + std::string dumpSummary(int &slot, const char *only); void setIgnorables(const char **); const char **getIgnorables();