diff options
Diffstat (limited to 'platform')
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); |