diff options
author | Chris Loer <chris.loer@gmail.com> | 2018-09-19 15:20:03 -0700 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2018-10-15 13:15:46 -0700 |
commit | fdfb9386a6732d5a00c5c205013aa1d9ed8b91a4 (patch) | |
tree | b6640441896e8f2af413ebc4a1a0568a32fd9f51 /platform/android/src | |
parent | d0cd49f516d053620147e9f047252bd88374ac5d (diff) | |
download | qtlocation-mapboxgl-fdfb9386a6732d5a00c5c205013aa1d9ed8b91a4.tar.gz |
[android] Minimal Android support for 'format' expression
- No dedicated support for creating format expressions
- Java accessors for 'text-field' flatten back to String
- 'text-field' setter implicitly creates a 'format' expression. For tests, use JsonArray to build an equivalent format expression by hand.
Diffstat (limited to 'platform/android/src')
-rw-r--r-- | platform/android/src/conversion/constant.cpp | 4 | ||||
-rw-r--r-- | platform/android/src/conversion/constant.hpp | 7 |
2 files changed, 11 insertions, 0 deletions
diff --git a/platform/android/src/conversion/constant.cpp b/platform/android/src/conversion/constant.cpp index 804d5fd146..eaff434dbc 100644 --- a/platform/android/src/conversion/constant.cpp +++ b/platform/android/src/conversion/constant.cpp @@ -29,6 +29,10 @@ Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, Color>::o return jni::Make<jni::String>(env, sstream.str()); } +Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, style::expression::Formatted>::operator()(jni::JNIEnv& env, const style::expression::Formatted& value) const { + return jni::Make<jni::String>(env, value.toString()); +} + Result<jni::Local<jni::Object<>>> Converter<jni::Local<jni::Object<>>, std::vector<std::string>>::operator()(jni::JNIEnv& env, const std::vector<std::string>& value) const { auto result = jni::Array<jni::String>::New(env, value.size()); diff --git a/platform/android/src/conversion/constant.hpp b/platform/android/src/conversion/constant.hpp index c6dafe1174..4def670f3c 100644 --- a/platform/android/src/conversion/constant.hpp +++ b/platform/android/src/conversion/constant.hpp @@ -5,6 +5,8 @@ #include <mbgl/util/color.hpp> #include <mbgl/util/enum.hpp> +#include <mbgl/style/expression/formatted.hpp> + #include <jni/jni.hpp> #include <string> @@ -53,6 +55,11 @@ struct Converter<jni::Local<jni::Object<>>, Color> { Result<jni::Local<jni::Object<>>> operator()(jni::JNIEnv& env, const Color& value) const; }; +template <> +struct Converter<jni::Local<jni::Object<>>, style::expression::Formatted> { + Result<jni::Local<jni::Object<>>> operator()(jni::JNIEnv& env, const style::expression::Formatted& value) const; +}; + template <std::size_t N> struct Converter<jni::Local<jni::Object<>>, std::array<float, N>> { Result<jni::Local<jni::Object<>>> operator()(jni::JNIEnv& env, const std::array<float, N>& value) const { |