Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8c73faaf authored by Andy Hung's avatar Andy Hung Committed by Android (Google) Code Review
Browse files

Merge "MediaMetrics: Update the put helper for more types"

parents 19e2e78b 70549316
Loading
Loading
Loading
Loading
+18 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <jni.h>
#include <media/MediaMetricsItem.h>
#include <nativehelper/JNIHelp.h>
#include <variant>

#include "android_media_MediaMetricsJNI.h"
#include "android_os_Parcel.h"
@@ -74,18 +75,30 @@ struct BundleHelper {
    }

    template<>
    void put(jstring keyName, const char * const& value) {
        env->CallVoidMethod(bundle, putStringID, keyName, env->NewStringUTF(value));
    void put(jstring keyName, const std::string& value) {
        env->CallVoidMethod(bundle, putStringID, keyName, env->NewStringUTF(value.c_str()));
    }

    template<>
    void put(jstring keyName, char * const& value) {
    void put(jstring keyName, const std::pair<int64_t, int64_t>& value) {
        ; // rate is currently ignored
    }

    template<>
    void put(jstring keyName, const std::monostate& value) {
        ; // none is currently ignored
    }

    // string char * helpers

    template<>
    void put(jstring keyName, const char * const& value) {
        env->CallVoidMethod(bundle, putStringID, keyName, env->NewStringUTF(value));
    }

    template<>
    void put(jstring keyName, const std::pair<int64_t, int64_t>& value) {
        ; // rate is currently ignored
    void put(jstring keyName, char * const& value) {
        env->CallVoidMethod(bundle, putStringID, keyName, env->NewStringUTF(value));
    }

    // We allow both jstring and non-jstring variants.