MediaMetrics: Misc fixes
Remove unneeded headers from MediaMetricsItem.
Optimize map writes with emplace_hint.
Test: atest mediametrics_tests
Bug: 149850236
Change-Id: Ice6fddb8402a5ccbf1df6e6e02fa4aae4c1b42d5
diff --git a/media/libmediametrics/MediaMetricsItem.cpp b/media/libmediametrics/MediaMetricsItem.cpp
index 4371668..7cdbe5f 100644
--- a/media/libmediametrics/MediaMetricsItem.cpp
+++ b/media/libmediametrics/MediaMetricsItem.cpp
@@ -25,6 +25,7 @@
#include <set>
#include <binder/Parcel.h>
+#include <cutils/properties.h>
#include <utils/Errors.h>
#include <utils/Log.h>
#include <utils/SortedVector.h>
diff --git a/media/libmediametrics/include/media/MediaMetricsItem.h b/media/libmediametrics/include/media/MediaMetricsItem.h
index 8477f8d..303343f 100644
--- a/media/libmediametrics/include/media/MediaMetricsItem.h
+++ b/media/libmediametrics/include/media/MediaMetricsItem.h
@@ -27,12 +27,8 @@
#include <variant>
#include <binder/Parcel.h>
-#include <cutils/properties.h>
#include <utils/Errors.h>
-#include <utils/KeyedVector.h>
-#include <utils/RefBase.h>
-#include <utils/StrongPointer.h>
-#include <utils/Timers.h>
+#include <utils/Timers.h> // nsecs_t
namespace android {
diff --git a/services/mediametrics/TimeMachine.h b/services/mediametrics/TimeMachine.h
index b138233..6861c78 100644
--- a/services/mediametrics/TimeMachine.h
+++ b/services/mediametrics/TimeMachine.h
@@ -138,7 +138,7 @@
if (timeSequence.empty() // no elements
|| property.back() == AMEDIAMETRICS_PROP_SUFFIX_CHAR_DUPLICATES_ALLOWED
|| timeSequence.rbegin()->second != el) { // value changed
- timeSequence.emplace(time, std::move(el));
+ timeSequence.emplace_hint(timeSequence.end(), time, std::move(el));
if (timeSequence.size() > kTimeSequenceMaxElements) {
ALOGV("%s: restricting maximum elements (discarding oldest) for %s",
diff --git a/services/mediametrics/TransactionLog.h b/services/mediametrics/TransactionLog.h
index d64acf3..8a22826 100644
--- a/services/mediametrics/TransactionLog.h
+++ b/services/mediametrics/TransactionLog.h
@@ -94,8 +94,8 @@
std::lock_guard lock(mLock);
(void)gc(garbage);
- mLog.emplace(time, item);
- mItemMap[key].emplace(time, item);
+ mLog.emplace_hint(mLog.end(), time, item);
+ mItemMap[key].emplace_hint(mItemMap[key].end(), time, item);
return NO_ERROR; // no errors for now.
}