summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-02-24 16:26:38 +0200
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2017-02-28 09:33:04 -0800
commitfedb21e35b53347f8ba741f2f02b84f1a48be50e (patch)
tree2891cbd2c2297e4ca0980d51982b8de9b43e7f98
parent609cdb0fd7b569dade2c3148f21024f280636154 (diff)
downloadqtlocation-mapboxgl-fedb21e35b53347f8ba741f2f02b84f1a48be50e.tar.gz
[android] remove layer returns reference
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java12
-rwxr-xr-xplatform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java15
-rw-r--r--platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java3
-rwxr-xr-xplatform/android/src/native_map_view.hpp2
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);