diff options
author | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-05-23 20:02:44 +0200 |
---|---|---|
committer | Guardiola31337 <pablo.guardiola@mapbox.com> | 2017-05-25 17:10:31 +0200 |
commit | 1f33adaee221a81e8eb0919f8ef6867b594d7503 (patch) | |
tree | 86f38ebd12f4389f43b866669069b18adee3c0e0 | |
parent | dbe3657a3be4d6a5a7da31d7665cd59d82c74d2c (diff) | |
download | qtlocation-mapboxgl-1f33adaee221a81e8eb0919f8ef6867b594d7503.tar.gz |
[WIP] change get filter evaluator signature into optional
-rw-r--r-- | platform/android/src/style/filter.hpp | 12 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.cpp | 20 |
2 files changed, 17 insertions, 15 deletions
diff --git a/platform/android/src/style/filter.hpp b/platform/android/src/style/filter.hpp index bfd8838f3d..6c58501a61 100644 --- a/platform/android/src/style/filter.hpp +++ b/platform/android/src/style/filter.hpp @@ -13,18 +13,18 @@ public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/Filter"; }; - static jni::Object<Filter::Statement> fromFilter(jni::JNIEnv&, const mbgl::style::Filter&); - - static jni::Class<Filter> javaClass; - - static void registerNative(jni::JNIEnv&); - class Statement : private mbgl::util::noncopyable { public: static constexpr auto Name() { return "com/mapbox/mapboxsdk/style/layers/Filter$Statement"; }; static jni::Class<Filter::Statement> javaClass; }; + + static jni::Object<Filter::Statement> fromFilter(jni::JNIEnv&, const mbgl::style::Filter&); + + static jni::Class<Filter> javaClass; + + static void registerNative(jni::JNIEnv&); }; } // namespace android diff --git a/platform/android/src/style/layers/layer.cpp b/platform/android/src/style/layers/layer.cpp index d68f4ebd30..0c51f8470d 100644 --- a/platform/android/src/style/layers/layer.cpp +++ b/platform/android/src/style/layers/layer.cpp @@ -100,18 +100,18 @@ namespace android { } struct GetFilterEvaluator { - Filter noop(std::string layerType) { + optional<Filter> noop(std::string layerType) { Log::Warning(mbgl::Event::JNI, "%s doesn't support filters", layerType.c_str()); - return NULL; + return {}; } - Filter operator()(style::BackgroundLayer&) { return noop("BackgroundLayer doesn't support filters"); } - Filter operator()(style::CustomLayer&) { return noop("CustomLayer doesn't support filters"); } - Filter operator()(style::RasterLayer&) { return noop("RasterLayer doesn't support filters"); } + optional<Filter> operator()(style::BackgroundLayer&) { return noop("BackgroundLayer"); } + optional<Filter> operator()(style::CustomLayer&) { return noop("CustomLayer"); } + optional<Filter> operator()(style::RasterLayer&) { return noop("RasterLayer"); } template <class LayerType> - Filter operator()(LayerType& layer) { - return layer.getFilter(); + optional<Filter> operator()(LayerType& layer) { + return { layer.getFilter() }; } }; @@ -119,7 +119,9 @@ namespace android { using namespace mbgl::style; using namespace mbgl::android::conversion; - return *convert<jni::Object<mbgl::android::Filter::Statement>, mbgl::style::Filter>(env, layer.accept(GetFilterEvaluator()); + auto tmp = layer.accept(GetFilterEvaluator()); + + return *convert<jni::Object<mbgl::android::Filter::Statement>, mbgl::style::Filter>(env, *tmp); } struct SetFilterEvaluator { @@ -142,7 +144,7 @@ namespace android { Value wrapped(env, jfilter); Error error; - optional<mbgl::style::Filter> converted = convert<mbgl::style::Filter>(wrapped, error); + optional<Filter> converted = convert<Filter>(wrapped, error); if (!converted) { mbgl::Log::Error(mbgl::Event::JNI, "Error setting filter: " + error.message); return; |