diff options
Diffstat (limited to 'platform/android/src/style/layers')
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 10 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.hpp | 3 |
2 files changed, 6 insertions, 7 deletions
diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index a2f4087fce..6fe6e3cb29 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -26,7 +26,6 @@ // C++ -> Java conversion #include "../conversion/property_value.hpp" #include <mbgl/style/filter.hpp> -#include "../conversion/gson.hpp" #include <string> @@ -153,20 +152,19 @@ namespace android { } }; - jni::Object<gson::JsonArray> Layer::getFilter(jni::JNIEnv& env) { + jni::Object<gson::JsonElement> Layer::getFilter(jni::JNIEnv& env) { using namespace mbgl::style; using namespace mbgl::style::conversion; Filter filter = layer.accept(GetFilterEvaluator()); - jni::jobject* converted = nullptr; + jni::Object<gson::JsonElement> converted; if (filter.is<ExpressionFilter>()) { ExpressionFilter filterExpression = filter.get<ExpressionFilter>(); mbgl::Value expressionValue = filterExpression.expression.get()->serialize(); - conversion::JsonEvaluator jsonEvaluator{env}; - converted = apply_visitor(jsonEvaluator, expressionValue); + converted = gson::JsonElement::New(env, expressionValue); } - return jni::Object<gson::JsonArray>(converted); + return converted; } struct SetSourceLayerEvaluator { diff --git a/platform/android/src/style/layers/layer.hpp b/platform/android/src/style/layers/layer.hpp index 19713a1baa..2486b0dfa6 100644 --- a/platform/android/src/style/layers/layer.hpp +++ b/platform/android/src/style/layers/layer.hpp @@ -5,6 +5,7 @@ #include <mbgl/style/layer.hpp> #include "../../gson/json_array.hpp" #include "../value.hpp" +#include "../../gson/json_element.hpp" #include <jni/jni.hpp> @@ -68,7 +69,7 @@ public: void setFilter(jni::JNIEnv&, jni::Array<jni::Object<>>); - jni::Object<gson::JsonArray> getFilter(jni::JNIEnv&); + jni::Object<gson::JsonElement> getFilter(jni::JNIEnv&); void setSourceLayer(jni::JNIEnv&, jni::String); |