summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java')
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/Layer.java18
1 files changed, 17 insertions, 1 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 411fbe4435..0de9234b7f 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
@@ -5,6 +5,7 @@ import android.support.annotation.NonNull;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.mapbox.mapboxsdk.style.expressions.Expression;
+import com.mapbox.mapboxsdk.utils.ThreadUtils;
/**
* Base class for the different Layer types
@@ -15,13 +16,23 @@ public abstract class Layer {
private boolean invalidated;
public Layer(long nativePtr) {
+ checkThread();
this.nativePtr = nativePtr;
}
public Layer() {
+ checkThread();
+ }
+
+ /**
+ * Validates if layer interaction is happening on the UI thread
+ */
+ protected void checkThread(){
+ ThreadUtils.checkThread("Layer");
}
public void setProperties(@NonNull PropertyValue<?>... properties) {
+ checkThread();
if (properties.length == 0) {
return;
}
@@ -37,26 +48,32 @@ public abstract class Layer {
}
public String getId() {
+ checkThread();
return nativeGetId();
}
public PropertyValue<String> getVisibility() {
+ checkThread();
return new PaintPropertyValue<>("visibility", (String) nativeGetVisibility());
}
public float getMinZoom() {
+ checkThread();
return nativeGetMinZoom();
}
public float getMaxZoom() {
+ checkThread();
return nativeGetMaxZoom();
}
public void setMinZoom(float zoom) {
+ checkThread();
nativeSetMinZoom(zoom);
}
public void setMaxZoom(float zoom) {
+ checkThread();
nativeSetMaxZoom(zoom);
}
@@ -97,5 +114,4 @@ public abstract class Layer {
}
return value;
}
-
} \ No newline at end of file