From 818baf084a7485e65decb7210397a8abd71e944b Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 4 Mar 2020 16:54:09 +0800 Subject: [PATCH] [android] Add sort key jni binding for fill_layer and line_layer --- CHANGELOG.md | 6 ++++++ platform/android/src/style/layers/fill_layer.cpp | 6 ++++++ platform/android/src/style/layers/fill_layer.hpp | 2 ++ platform/android/src/style/layers/line_layer.cpp | 6 ++++++ platform/android/src/style/layers/line_layer.hpp | 2 ++ 5 files changed, 22 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ae4d91137a..1ded740d64f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,12 @@ - [default] Fix possible crash at RunLoop::wake() ([#16255](https://github.com/mapbox/mapbox-gl-native/pull/16255)) +### ✨ 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 c54f4cd39d9..95d0f78c5c1 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> FillLayer::getFillSortKey(jni::JNIEnv& env) { + using namespace mbgl::android::conversion; + return std::move(*convert>>(env, toFillLayer(layer).getFillSortKey())); + } + jni::Local> FillLayer::getFillAntialias(jni::JNIEnv& env) { using namespace mbgl::android::conversion; return std::move(*convert>>(env, toFillLayer(layer).getFillAntialias())); @@ -176,6 +181,7 @@ namespace android { jni::MakePeer, "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 b021ddca143..e6471643cae 100644 --- a/platform/android/src/style/layers/fill_layer.hpp +++ b/platform/android/src/style/layers/fill_layer.hpp @@ -26,6 +26,8 @@ class FillLayer : public Layer { // Properties + jni::Local> getFillSortKey(jni::JNIEnv&); + jni::Local> getFillAntialias(jni::JNIEnv&); jni::Local> getFillOpacity(jni::JNIEnv&); diff --git a/platform/android/src/style/layers/line_layer.cpp b/platform/android/src/style/layers/line_layer.cpp index 73fcd5f9915..fe3e0bba18c 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>>(env, toLineLayer(layer).getLineRoundLimit())); } + jni::Local> LineLayer::getLineSortKey(jni::JNIEnv& env) { + using namespace mbgl::android::conversion; + return std::move(*convert>>(env, toLineLayer(layer).getLineSortKey())); + } + jni::Local> LineLayer::getLineOpacity(jni::JNIEnv& env) { using namespace mbgl::android::conversion; return std::move(*convert>>(env, toLineLayer(layer).getLineOpacity())); @@ -272,6 +277,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 75a367ab70d..72a69f218ea 100644 --- a/platform/android/src/style/layers/line_layer.hpp +++ b/platform/android/src/style/layers/line_layer.hpp @@ -34,6 +34,8 @@ class LineLayer : public Layer { jni::Local> getLineRoundLimit(jni::JNIEnv&); + jni::Local> getLineSortKey(jni::JNIEnv&); + jni::Local> getLineOpacity(jni::JNIEnv&); void setLineOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay); jni::Local> getLineOpacityTransition(jni::JNIEnv&);