diff options
author | Kevin Li <kevin.li@mapbox.com> | 2020-03-04 19:57:07 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-04 19:57:07 +0800 |
commit | fb0c7c93a0f82cae603edc29e7e9a56024ed2b39 (patch) | |
tree | 1662f37afafaf06f29ae05fca7edae290b38481d | |
parent | efc605bed6f2d8f54b7097af1b91416c3fa13e06 (diff) | |
download | qtlocation-mapboxgl-fb0c7c93a0f82cae603edc29e7e9a56024ed2b39.tar.gz |
[android] Add sort key jni binding for fill_layer and line_layer (#16256)
-rw-r--r-- | CHANGELOG.md | 6 | ||||
-rw-r--r-- | platform/android/src/style/layers/fill_layer.cpp | 10 | ||||
-rw-r--r-- | platform/android/src/style/layers/fill_layer.hpp | 2 | ||||
-rw-r--r-- | platform/android/src/style/layers/layer.cpp.ejs | 4 | ||||
-rw-r--r-- | platform/android/src/style/layers/line_layer.cpp | 10 | ||||
-rw-r--r-- | platform/android/src/style/layers/line_layer.hpp | 2 |
6 files changed, 31 insertions, 3 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f829790d7..daa27e960c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,12 @@ But `within` expression need to accept an Object and then convert to GeoJSON object, now `toGeoJSON` method can convert both string and Object to GeoJSON. +### ✨ New features + +- [android] Add jni binding for line-sort-key and fill-sort-key ([#16256](https://github.com/mapbox/mapbox-gl-native/pull/16256)) + + With this change, android sdk will be able to get sort key for LineLayer and FillLayer. + ## maps-v1.3.0 (2020.02-relvanillashake) ### 🐞 Bug fixes diff --git a/platform/android/src/style/layers/fill_layer.cpp b/platform/android/src/style/layers/fill_layer.cpp index c54f4cd39d..3679688efc 100644 --- a/platform/android/src/style/layers/fill_layer.cpp +++ b/platform/android/src/style/layers/fill_layer.cpp @@ -41,6 +41,11 @@ namespace android { // Property getters + jni::Local<jni::Object<>> FillLayer::getFillSortKey(jni::JNIEnv& env) { + using namespace mbgl::android::conversion; + return std::move(*convert<jni::Local<jni::Object<>>>(env, toFillLayer(layer).getFillSortKey())); + } + jni::Local<jni::Object<>> FillLayer::getFillAntialias(jni::JNIEnv& env) { using namespace mbgl::android::conversion; return std::move(*convert<jni::Local<jni::Object<>>>(env, toFillLayer(layer).getFillAntialias())); @@ -172,10 +177,13 @@ namespace android { // Register the peer jni::RegisterNativePeer<FillLayer>( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer<FillLayer, jni::String&, jni::String&>, "initialize", "finalize", + METHOD(&FillLayer::getFillSortKey, "nativeGetFillSortKey"), METHOD(&FillLayer::getFillAntialias, "nativeGetFillAntialias"), METHOD(&FillLayer::getFillOpacityTransition, "nativeGetFillOpacityTransition"), METHOD(&FillLayer::setFillOpacityTransition, "nativeSetFillOpacityTransition"), diff --git a/platform/android/src/style/layers/fill_layer.hpp b/platform/android/src/style/layers/fill_layer.hpp index b021ddca14..e6471643ca 100644 --- a/platform/android/src/style/layers/fill_layer.hpp +++ b/platform/android/src/style/layers/fill_layer.hpp @@ -26,6 +26,8 @@ public: // Properties + jni::Local<jni::Object<jni::ObjectTag>> getFillSortKey(jni::JNIEnv&); + jni::Local<jni::Object<jni::ObjectTag>> getFillAntialias(jni::JNIEnv&); jni::Local<jni::Object<jni::ObjectTag>> getFillOpacity(jni::JNIEnv&); diff --git a/platform/android/src/style/layers/layer.cpp.ejs b/platform/android/src/style/layers/layer.cpp.ejs index c81fc5ab39..e98ee49ff6 100644 --- a/platform/android/src/style/layers/layer.cpp.ejs +++ b/platform/android/src/style/layers/layer.cpp.ejs @@ -118,7 +118,9 @@ namespace android { // Register the peer jni::RegisterNativePeer<<%- camelize(type) %>Layer>( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", <% if (type === 'background') { -%> jni::MakePeer<<%- camelize(type) %>Layer, jni::String&>, <% } else { -%> diff --git a/platform/android/src/style/layers/line_layer.cpp b/platform/android/src/style/layers/line_layer.cpp index 73fcd5f991..1719c9ae59 100644 --- a/platform/android/src/style/layers/line_layer.cpp +++ b/platform/android/src/style/layers/line_layer.cpp @@ -61,6 +61,11 @@ namespace android { return std::move(*convert<jni::Local<jni::Object<>>>(env, toLineLayer(layer).getLineRoundLimit())); } + jni::Local<jni::Object<>> LineLayer::getLineSortKey(jni::JNIEnv& env) { + using namespace mbgl::android::conversion; + return std::move(*convert<jni::Local<jni::Object<>>>(env, toLineLayer(layer).getLineSortKey())); + } + jni::Local<jni::Object<>> LineLayer::getLineOpacity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; return std::move(*convert<jni::Local<jni::Object<>>>(env, toLineLayer(layer).getLineOpacity())); @@ -264,7 +269,9 @@ namespace android { // Register the peer jni::RegisterNativePeer<LineLayer>( - env, javaClass, "nativePtr", + env, + javaClass, + "nativePtr", jni::MakePeer<LineLayer, jni::String&, jni::String&>, "initialize", "finalize", @@ -272,6 +279,7 @@ namespace android { METHOD(&LineLayer::getLineJoin, "nativeGetLineJoin"), METHOD(&LineLayer::getLineMiterLimit, "nativeGetLineMiterLimit"), METHOD(&LineLayer::getLineRoundLimit, "nativeGetLineRoundLimit"), + METHOD(&LineLayer::getLineSortKey, "nativeGetLineSortKey"), METHOD(&LineLayer::getLineOpacityTransition, "nativeGetLineOpacityTransition"), METHOD(&LineLayer::setLineOpacityTransition, "nativeSetLineOpacityTransition"), METHOD(&LineLayer::getLineOpacity, "nativeGetLineOpacity"), diff --git a/platform/android/src/style/layers/line_layer.hpp b/platform/android/src/style/layers/line_layer.hpp index 75a367ab70..72a69f218e 100644 --- a/platform/android/src/style/layers/line_layer.hpp +++ b/platform/android/src/style/layers/line_layer.hpp @@ -34,6 +34,8 @@ public: jni::Local<jni::Object<jni::ObjectTag>> getLineRoundLimit(jni::JNIEnv&); + jni::Local<jni::Object<jni::ObjectTag>> getLineSortKey(jni::JNIEnv&); + jni::Local<jni::Object<jni::ObjectTag>> getLineOpacity(jni::JNIEnv&); void setLineOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay); jni::Local<jni::Object<TransitionOptions>> getLineOpacityTransition(jni::JNIEnv&); |