diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-02-24 16:26:38 +0200 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-02-28 09:33:04 -0800 |
commit | fedb21e35b53347f8ba741f2f02b84f1a48be50e (patch) | |
tree | 2891cbd2c2297e4ca0980d51982b8de9b43e7f98 | |
parent | 609cdb0fd7b569dade2c3148f21024f280636154 (diff) | |
download | qtlocation-mapboxgl-fedb21e35b53347f8ba741f2f02b84f1a48be50e.tar.gz |
[android] remove layer returns reference
4 files changed, 20 insertions, 12 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 84bc759ebe..033986eed9 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -275,20 +275,24 @@ public final class MapboxMap { * Removes the layer. Any references to the layer become invalid and should not be used anymore * * @param layerId the layer to remove + * @return the removed layer or null if not found */ @UiThread - public void removeLayer(@NonNull String layerId) { - nativeMapView.removeLayer(layerId); + @Nullable + public Layer removeLayer(@NonNull String layerId) { + return nativeMapView.removeLayer(layerId); } /** * Removes the layer. The reference is re-usable after this and can be re-added * * @param layer the layer to remove + * @return the layer */ @UiThread - public void removeLayer(@NonNull Layer layer) { - nativeMapView.removeLayer(layer); + @Nullable + public Layer removeLayer(@NonNull Layer layer) { + return nativeMapView.removeLayer(layer); } /** diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index 1ec7f1687f..2e495a25c2 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -768,18 +768,21 @@ final class NativeMapView { nativeAddLayer(layer.getNativePtr(), before); } - public void removeLayer(@NonNull String layerId) { + @Nullable + public Layer removeLayer(@NonNull String layerId) { if (isDestroyedOn("removeLayer")) { - return; + return null; } - nativeRemoveLayerById(layerId); + return nativeRemoveLayerById(layerId); } - public void removeLayer(@NonNull Layer layer) { + @Nullable + public Layer removeLayer(@NonNull Layer layer) { if (isDestroyedOn("removeLayer")) { - return; + return null; } nativeRemoveLayer(layer.getNativePtr()); + return layer; } public List<Source> getSources() { @@ -1074,7 +1077,7 @@ final class NativeMapView { private native void nativeAddLayer(long layerPtr, String before) throws CannotAddLayerException; - private native void nativeRemoveLayerById(String layerId); + private native Layer nativeRemoveLayerById(String layerId); private native void nativeRemoveLayer(long layerId); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java index 30d71c0ffc..30d7c9a376 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java @@ -147,7 +147,8 @@ public class RuntimeStyleTests { assertNotNull(mapboxMap.getLayer("building")); // Remove - mapboxMap.removeLayer("building"); + Layer building = mapboxMap.removeLayer("building"); + assertNotNull(building); assertNull(mapboxMap.getLayer("building")); // Add diff --git a/platform/android/src/native_map_view.hpp b/platform/android/src/native_map_view.hpp index b34eb2cab5..968c98bd6e 100755 --- a/platform/android/src/native_map_view.hpp +++ b/platform/android/src/native_map_view.hpp @@ -207,7 +207,7 @@ public: void addLayer(JNIEnv&, jlong, jni::String); - void removeLayerById(JNIEnv&, jni::String); + jni::Object<Layer> removeLayerById(JNIEnv&, jni::String); void removeLayer(JNIEnv&, jlong); |