summaryrefslogtreecommitdiff
path: root/platform/android/src/style/conversion/function.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/style/conversion/function.hpp')
-rw-r--r--platform/android/src/style/conversion/function.hpp30
1 files changed, 11 insertions, 19 deletions
diff --git a/platform/android/src/style/conversion/function.hpp b/platform/android/src/style/conversion/function.hpp
index 510efd3c94..d6669b4508 100644
--- a/platform/android/src/style/conversion/function.hpp
+++ b/platform/android/src/style/conversion/function.hpp
@@ -7,7 +7,8 @@
#include "../../java/lang.hpp"
#include <jni/jni.hpp>
-#include "gson.hpp"
+#include "../../gson/json_element.hpp"
+
#include <tuple>
#include <map>
@@ -16,41 +17,32 @@ namespace android {
namespace conversion {
template <class T>
-struct Converter<jni::jobject*, mbgl::style::CameraFunction<T>> {
+struct Converter<jni::Object<android::gson::JsonElement>, mbgl::style::CameraFunction<T>> {
- Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::CameraFunction<T>& value) const {
+ Result<jni::Object<android::gson::JsonElement>> operator()(jni::JNIEnv& env, const mbgl::style::CameraFunction<T>& value) const {
// Convert expressions
mbgl::Value expressionValue = value.getExpression().serialize();
- JsonEvaluator jsonEvaluator{env};
- jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue);
-
- return converted;
+ return gson::JsonElement::New(env, expressionValue);
}
};
template <class T>
-struct Converter<jni::jobject*, mbgl::style::SourceFunction<T>> {
+struct Converter<jni::Object<android::gson::JsonElement>, mbgl::style::SourceFunction<T>> {
- Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::SourceFunction<T>& value) const {
+ Result<jni::Object<android::gson::JsonElement>> operator()(jni::JNIEnv& env, const mbgl::style::SourceFunction<T>& value) const {
// Convert expressions
mbgl::Value expressionValue = value.getExpression().serialize();
- JsonEvaluator jsonEvaluator{env};
- jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue);
-
- return converted;
+ return gson::JsonElement::New(env, expressionValue);
}
};
template <class T>
-struct Converter<jni::jobject*, mbgl::style::CompositeFunction<T>> {
+struct Converter<jni::Object<android::gson::JsonElement>, mbgl::style::CompositeFunction<T>> {
- Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::CompositeFunction<T>& value) const {
+ Result<jni::Object<android::gson::JsonElement>> operator()(jni::JNIEnv& env, const mbgl::style::CompositeFunction<T>& value) const {
// Convert expressions
mbgl::Value expressionValue = value.getExpression().serialize();
- JsonEvaluator jsonEvaluator{env};
- jni::jobject* converted = apply_visitor(jsonEvaluator, expressionValue);
-
- return converted;
+ return gson::JsonElement::New(env, expressionValue);
}
};