diff options
Diffstat (limited to 'platform/android/src/style/conversion/property_value.hpp')
-rw-r--r-- | platform/android/src/style/conversion/property_value.hpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/platform/android/src/style/conversion/property_value.hpp b/platform/android/src/style/conversion/property_value.hpp index 8150285c85..317705a286 100644 --- a/platform/android/src/style/conversion/property_value.hpp +++ b/platform/android/src/style/conversion/property_value.hpp @@ -19,16 +19,16 @@ class PropertyValueEvaluator { public: PropertyValueEvaluator(jni::JNIEnv& _env) : env(_env) {} - jni::jobject* operator()(const mbgl::style::Undefined) const { - return nullptr; + jni::Local<jni::Object<>> operator()(const mbgl::style::Undefined) const { + return jni::Local<jni::Object<>>(env, nullptr); } - jni::jobject* operator()(const T& value) const { - return *convert<jni::jobject*>(env, value); + jni::Local<jni::Object<>> operator()(const T& value) const { + return std::move(*convert<jni::Local<jni::Object<>>>(env, value)); } - jni::jobject* operator()(const mbgl::style::PropertyExpression<T>& value) const { - return *convert<jni::Object<android::gson::JsonElement>>(env, value); + jni::Local<jni::Object<>> operator()(const mbgl::style::PropertyExpression<T>& value) const { + return std::move(*convert<jni::Local<jni::Object<android::gson::JsonElement>>>(env, value)); } private: @@ -39,8 +39,8 @@ private: * Convert core property values to java */ template <class T> -struct Converter<jni::jobject*, mbgl::style::PropertyValue<T>> { - Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::PropertyValue<T>& value) const { +struct Converter<jni::Local<jni::Object<>>, mbgl::style::PropertyValue<T>> { + Result<jni::Local<jni::Object<>>> operator()(jni::JNIEnv& env, const mbgl::style::PropertyValue<T>& value) const { PropertyValueEvaluator<T> evaluator(env); return value.evaluate(evaluator); } @@ -50,10 +50,10 @@ struct Converter<jni::jobject*, mbgl::style::PropertyValue<T>> { * Convert core heat map color property value to java */ template <> -struct Converter<jni::jobject*, mbgl::style::ColorRampPropertyValue> { - Result<jni::jobject*> operator()(jni::JNIEnv& env, const mbgl::style::ColorRampPropertyValue& value) const { +struct Converter<jni::Local<jni::Object<>>, mbgl::style::ColorRampPropertyValue> { + Result<jni::Local<jni::Object<>>> operator()(jni::JNIEnv& env, const mbgl::style::ColorRampPropertyValue& value) const { PropertyValueEvaluator<mbgl::style::ColorRampPropertyValue> evaluator(env); - return *convert<jni::jobject*>(env, value.evaluate(evaluator)); + return std::move(*convert<jni::Local<jni::Object<>>>(env, value.evaluate(evaluator))); } }; |