summaryrefslogtreecommitdiff
path: root/platform/android/src/style/conversion/filter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/src/style/conversion/filter.cpp')
-rw-r--r--platform/android/src/style/conversion/filter.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/platform/android/src/style/conversion/filter.cpp b/platform/android/src/style/conversion/filter.cpp
new file mode 100644
index 0000000000..4eac0cf82b
--- /dev/null
+++ b/platform/android/src/style/conversion/filter.cpp
@@ -0,0 +1,26 @@
+#include "filter.hpp"
+#include "../android_conversion.hpp"
+
+#include <mbgl/style/conversion.hpp>
+#include <mbgl/style/conversion/filter.hpp>
+
+namespace mbgl {
+namespace android {
+namespace conversion {
+
+optional<mbgl::style::Filter> toFilter(jni::JNIEnv& env, jni::Array<jni::Object<>> jfilter) {
+ mbgl::optional<mbgl::style::Filter> filter;
+ if (jfilter) {
+ mbgl::style::conversion::Error error;
+ auto converted = mbgl::style::conversion::convert<mbgl::style::Filter>(Value(env, jfilter), error);
+ if (!converted) {
+ mbgl::Log::Error(mbgl::Event::JNI, "Error converting filter: " + error.message);
+ }
+ filter = std::move(*converted);
+ }
+ return filter;
+}
+
+} // namespace conversion
+} // namespace android
+} // namespace mbgl \ No newline at end of file