diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style')
3 files changed, 31 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java index 72591196d4..75388ec32c 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java @@ -18,6 +18,7 @@ public abstract class Layer { private long nativePtr; @Keep private boolean invalidated; + private boolean detached; @Keep protected Layer(long nativePtr) { @@ -37,6 +38,10 @@ public abstract class Layer { } public void setProperties(@NonNull PropertyValue<?>... properties) { + if (detached) { + return; + } + checkThread(); if (properties.length == 0) { return; @@ -146,4 +151,12 @@ public abstract class Layer { return value; } } + + public void setDetached() { + detached = true; + } + + public boolean isDetached() { + return detached; + } }
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeoJsonSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeoJsonSource.java index a9eb43f968..c59cfeaf0b 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeoJsonSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeoJsonSource.java @@ -194,6 +194,9 @@ public class GeoJsonSource extends Source { * @param feature the GeoJSON {@link Feature} to set */ public void setGeoJson(Feature feature) { + if (detached) { + return; + } checkThread(); nativeSetFeature(feature); } @@ -205,6 +208,9 @@ public class GeoJsonSource extends Source { * @param geometry the GeoJSON {@link Geometry} to set */ public void setGeoJson(Geometry geometry) { + if (detached) { + return; + } checkThread(); nativeSetGeometry(geometry); } @@ -216,6 +222,9 @@ public class GeoJsonSource extends Source { * @param features the GeoJSON FeatureCollection */ public void setGeoJson(FeatureCollection features) { + if (detached) { + return; + } checkThread(); nativeSetFeatureCollection(features); } @@ -227,6 +236,9 @@ public class GeoJsonSource extends Source { * @param json the raw GeoJson FeatureCollection string */ public void setGeoJson(String json) { + if (detached) { + return; + } checkThread(); nativeSetGeoJsonString(json); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/Source.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/Source.java index 44f4a6c344..6e8c521a78 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/Source.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/Source.java @@ -13,6 +13,8 @@ public abstract class Source { @Keep private long nativePtr; + protected boolean detached; + /** * Internal use * @@ -76,4 +78,8 @@ public abstract class Source { @NonNull @Keep protected native String nativeGetAttribution(); + + public void setDetached() { + detached = true; + } } |