MediaMetrics: Add logSessionId handling
Test: adb shell dumpsys media.metrics
Test: atest mediametrics_tests
Bug: 181032765
Change-Id: I030555abeaf2f286b61a85032bc767581c2e605e
diff --git a/services/mediametrics/statsd_audiotrack.cpp b/services/mediametrics/statsd_audiotrack.cpp
index 6b08a78..fd809c8 100644
--- a/services/mediametrics/statsd_audiotrack.cpp
+++ b/services/mediametrics/statsd_audiotrack.cpp
@@ -32,6 +32,7 @@
#include <statslog.h>
#include "MediaMetricsService.h"
+#include "StringUtils.h"
#include "frameworks/proto_logging/stats/enums/stats/mediametrics/mediametrics.pb.h"
#include "iface_statsd.h"
@@ -132,12 +133,20 @@
return false;
}
+ // Android S
+ // log_session_id (string)
+ std::string logSessionId;
+ (void)item->getString("android.media.audiotrack.logSessionId", &logSessionId);
+ const auto logSessionIdForStats =
+ mediametrics::stringutils::sanitizeLogSessionId(logSessionId);
+
if (enabled_statsd) {
android::util::BytesField bf_serialized( serialized.c_str(), serialized.size());
(void)android::util::stats_write(android::util::MEDIAMETRICS_AUDIOTRACK_REPORTED,
timestamp, pkgName.c_str(), pkgVersionCode,
mediaApexVersion,
- bf_serialized);
+ bf_serialized,
+ logSessionIdForStats.c_str());
} else {
ALOGV("NOT sending: private data (len=%zu)", strlen(serialized.c_str()));