summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java13
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/GeoJsonSource.java12
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/Source.java6
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;
+ }
}