Merge "MediaMetrics: Use submitBuffer for more efficient logging"
diff --git a/media/jni/android_media_MediaMetricsJNI.cpp b/media/jni/android_media_MediaMetricsJNI.cpp
index 37aca08..b82d8e2 100644
--- a/media/jni/android_media_MediaMetricsJNI.cpp
+++ b/media/jni/android_media_MediaMetricsJNI.cpp
@@ -18,6 +18,7 @@
#include <binder/Parcel.h>
#include <jni.h>
+#include <media/IMediaMetricsService.h>
#include <media/MediaMetricsItem.h>
#include <nativehelper/JNIHelp.h>
#include <variant>
@@ -150,14 +151,12 @@
return (jint)BAD_VALUE;
}
- // TODO: directly record item to MediaMetrics service.
- mediametrics::Item item;
- if (item.readFromByteString((char *)buffer, length) != NO_ERROR) {
- ALOGW("%s: cannot read from byte string", __func__);
- return (jint)BAD_VALUE;
+ sp<IMediaMetricsService> service = mediametrics::BaseItem::getService();
+ if (service == nullptr) {
+ ALOGW("Cannot retrieve mediametrics service");
+ return (jint)NO_INIT;
}
- item.selfrecord();
- return (jint)NO_ERROR;
+ return (jint)service->submitBuffer((char *)buffer, length);
}
// Helper function to convert a native PersistableBundle to a Java