diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style')
20 files changed, 394 insertions, 2 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/BackgroundLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/BackgroundLayer.java index 60c2aa907b..0a0c3f1e43 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/BackgroundLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/BackgroundLayer.java @@ -36,6 +36,7 @@ public class BackgroundLayer extends Layer { * @param layerId the id of the layer */ public BackgroundLayer(String layerId) { + super(); initialize(layerId); } @@ -61,6 +62,7 @@ public class BackgroundLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getBackgroundColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("background-color", nativeGetBackgroundColor()); } @@ -72,6 +74,7 @@ public class BackgroundLayer extends Layer { */ @ColorInt public int getBackgroundColorAsInt() { + checkThread(); PropertyValue<String> value = getBackgroundColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -86,6 +89,7 @@ public class BackgroundLayer extends Layer { * @return transition options for String */ public TransitionOptions getBackgroundColorTransition() { + checkThread(); return nativeGetBackgroundColorTransition(); } @@ -95,6 +99,7 @@ public class BackgroundLayer extends Layer { * @param options transition options for String */ public void setBackgroundColorTransition(TransitionOptions options) { + checkThread(); nativeSetBackgroundColorTransition(options.getDuration(), options.getDelay()); } @@ -105,6 +110,7 @@ public class BackgroundLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getBackgroundPattern() { + checkThread(); return (PropertyValue<String>) new PropertyValue("background-pattern", nativeGetBackgroundPattern()); } @@ -114,6 +120,7 @@ public class BackgroundLayer extends Layer { * @return transition options for String */ public TransitionOptions getBackgroundPatternTransition() { + checkThread(); return nativeGetBackgroundPatternTransition(); } @@ -123,6 +130,7 @@ public class BackgroundLayer extends Layer { * @param options transition options for String */ public void setBackgroundPatternTransition(TransitionOptions options) { + checkThread(); nativeSetBackgroundPatternTransition(options.getDuration(), options.getDelay()); } @@ -133,6 +141,7 @@ public class BackgroundLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getBackgroundOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("background-opacity", nativeGetBackgroundOpacity()); } @@ -142,6 +151,7 @@ public class BackgroundLayer extends Layer { * @return transition options for Float */ public TransitionOptions getBackgroundOpacityTransition() { + checkThread(); return nativeGetBackgroundOpacityTransition(); } @@ -151,6 +161,7 @@ public class BackgroundLayer extends Layer { * @param options transition options for Float */ public void setBackgroundOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetBackgroundOpacityTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java index 94929398d5..c85cfba0a5 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/CircleLayer.java @@ -37,6 +37,7 @@ public class CircleLayer extends Layer { * @param sourceId the id of the source */ public CircleLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class CircleLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class CircleLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class CircleLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class CircleLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getCircleRadius() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("circle-radius", nativeGetCircleRadius()); } @@ -135,6 +141,7 @@ public class CircleLayer extends Layer { * @return transition options for Float */ public TransitionOptions getCircleRadiusTransition() { + checkThread(); return nativeGetCircleRadiusTransition(); } @@ -144,6 +151,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float */ public void setCircleRadiusTransition(TransitionOptions options) { + checkThread(); nativeSetCircleRadiusTransition(options.getDuration(), options.getDelay()); } @@ -154,6 +162,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getCircleColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("circle-color", nativeGetCircleColor()); } @@ -165,6 +174,7 @@ public class CircleLayer extends Layer { */ @ColorInt public int getCircleColorAsInt() { + checkThread(); PropertyValue<String> value = getCircleColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -179,6 +189,7 @@ public class CircleLayer extends Layer { * @return transition options for String */ public TransitionOptions getCircleColorTransition() { + checkThread(); return nativeGetCircleColorTransition(); } @@ -188,6 +199,7 @@ public class CircleLayer extends Layer { * @param options transition options for String */ public void setCircleColorTransition(TransitionOptions options) { + checkThread(); nativeSetCircleColorTransition(options.getDuration(), options.getDelay()); } @@ -198,6 +210,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getCircleBlur() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("circle-blur", nativeGetCircleBlur()); } @@ -207,6 +220,7 @@ public class CircleLayer extends Layer { * @return transition options for Float */ public TransitionOptions getCircleBlurTransition() { + checkThread(); return nativeGetCircleBlurTransition(); } @@ -216,6 +230,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float */ public void setCircleBlurTransition(TransitionOptions options) { + checkThread(); nativeSetCircleBlurTransition(options.getDuration(), options.getDelay()); } @@ -226,6 +241,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getCircleOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("circle-opacity", nativeGetCircleOpacity()); } @@ -235,6 +251,7 @@ public class CircleLayer extends Layer { * @return transition options for Float */ public TransitionOptions getCircleOpacityTransition() { + checkThread(); return nativeGetCircleOpacityTransition(); } @@ -244,6 +261,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float */ public void setCircleOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetCircleOpacityTransition(options.getDuration(), options.getDelay()); } @@ -254,6 +272,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getCircleTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("circle-translate", nativeGetCircleTranslate()); } @@ -263,6 +282,7 @@ public class CircleLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getCircleTranslateTransition() { + checkThread(); return nativeGetCircleTranslateTransition(); } @@ -272,6 +292,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float[] */ public void setCircleTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetCircleTranslateTransition(options.getDuration(), options.getDelay()); } @@ -282,6 +303,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getCircleTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("circle-translate-anchor", nativeGetCircleTranslateAnchor()); } @@ -292,6 +314,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getCirclePitchScale() { + checkThread(); return (PropertyValue<String>) new PropertyValue("circle-pitch-scale", nativeGetCirclePitchScale()); } @@ -302,6 +325,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getCirclePitchAlignment() { + checkThread(); return (PropertyValue<String>) new PropertyValue("circle-pitch-alignment", nativeGetCirclePitchAlignment()); } @@ -312,6 +336,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getCircleStrokeWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("circle-stroke-width", nativeGetCircleStrokeWidth()); } @@ -321,6 +346,7 @@ public class CircleLayer extends Layer { * @return transition options for Float */ public TransitionOptions getCircleStrokeWidthTransition() { + checkThread(); return nativeGetCircleStrokeWidthTransition(); } @@ -330,6 +356,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float */ public void setCircleStrokeWidthTransition(TransitionOptions options) { + checkThread(); nativeSetCircleStrokeWidthTransition(options.getDuration(), options.getDelay()); } @@ -340,6 +367,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getCircleStrokeColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("circle-stroke-color", nativeGetCircleStrokeColor()); } @@ -351,6 +379,7 @@ public class CircleLayer extends Layer { */ @ColorInt public int getCircleStrokeColorAsInt() { + checkThread(); PropertyValue<String> value = getCircleStrokeColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -365,6 +394,7 @@ public class CircleLayer extends Layer { * @return transition options for String */ public TransitionOptions getCircleStrokeColorTransition() { + checkThread(); return nativeGetCircleStrokeColorTransition(); } @@ -374,6 +404,7 @@ public class CircleLayer extends Layer { * @param options transition options for String */ public void setCircleStrokeColorTransition(TransitionOptions options) { + checkThread(); nativeSetCircleStrokeColorTransition(options.getDuration(), options.getDelay()); } @@ -384,6 +415,7 @@ public class CircleLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getCircleStrokeOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("circle-stroke-opacity", nativeGetCircleStrokeOpacity()); } @@ -393,6 +425,7 @@ public class CircleLayer extends Layer { * @return transition options for Float */ public TransitionOptions getCircleStrokeOpacityTransition() { + checkThread(); return nativeGetCircleStrokeOpacityTransition(); } @@ -402,6 +435,7 @@ public class CircleLayer extends Layer { * @param options transition options for Float */ public void setCircleStrokeOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetCircleStrokeOpacityTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java index 29e2b49d76..fdfc8c51a9 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillExtrusionLayer.java @@ -37,6 +37,7 @@ public class FillExtrusionLayer extends Layer { * @param sourceId the id of the source */ public FillExtrusionLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class FillExtrusionLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class FillExtrusionLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class FillExtrusionLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class FillExtrusionLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getFillExtrusionOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("fill-extrusion-opacity", nativeGetFillExtrusionOpacity()); } @@ -135,6 +141,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for Float */ public TransitionOptions getFillExtrusionOpacityTransition() { + checkThread(); return nativeGetFillExtrusionOpacityTransition(); } @@ -144,6 +151,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for Float */ public void setFillExtrusionOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionOpacityTransition(options.getDuration(), options.getDelay()); } @@ -154,6 +162,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillExtrusionColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-extrusion-color", nativeGetFillExtrusionColor()); } @@ -165,6 +174,7 @@ public class FillExtrusionLayer extends Layer { */ @ColorInt public int getFillExtrusionColorAsInt() { + checkThread(); PropertyValue<String> value = getFillExtrusionColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -179,6 +189,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for String */ public TransitionOptions getFillExtrusionColorTransition() { + checkThread(); return nativeGetFillExtrusionColorTransition(); } @@ -188,6 +199,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for String */ public void setFillExtrusionColorTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionColorTransition(options.getDuration(), options.getDelay()); } @@ -198,6 +210,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getFillExtrusionTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("fill-extrusion-translate", nativeGetFillExtrusionTranslate()); } @@ -207,6 +220,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getFillExtrusionTranslateTransition() { + checkThread(); return nativeGetFillExtrusionTranslateTransition(); } @@ -216,6 +230,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for Float[] */ public void setFillExtrusionTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionTranslateTransition(options.getDuration(), options.getDelay()); } @@ -226,6 +241,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillExtrusionTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-extrusion-translate-anchor", nativeGetFillExtrusionTranslateAnchor()); } @@ -236,6 +252,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillExtrusionPattern() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-extrusion-pattern", nativeGetFillExtrusionPattern()); } @@ -245,6 +262,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for String */ public TransitionOptions getFillExtrusionPatternTransition() { + checkThread(); return nativeGetFillExtrusionPatternTransition(); } @@ -254,6 +272,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for String */ public void setFillExtrusionPatternTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionPatternTransition(options.getDuration(), options.getDelay()); } @@ -264,6 +283,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getFillExtrusionHeight() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("fill-extrusion-height", nativeGetFillExtrusionHeight()); } @@ -273,6 +293,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for Float */ public TransitionOptions getFillExtrusionHeightTransition() { + checkThread(); return nativeGetFillExtrusionHeightTransition(); } @@ -282,6 +303,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for Float */ public void setFillExtrusionHeightTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionHeightTransition(options.getDuration(), options.getDelay()); } @@ -292,6 +314,7 @@ public class FillExtrusionLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getFillExtrusionBase() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("fill-extrusion-base", nativeGetFillExtrusionBase()); } @@ -301,6 +324,7 @@ public class FillExtrusionLayer extends Layer { * @return transition options for Float */ public TransitionOptions getFillExtrusionBaseTransition() { + checkThread(); return nativeGetFillExtrusionBaseTransition(); } @@ -310,6 +334,7 @@ public class FillExtrusionLayer extends Layer { * @param options transition options for Float */ public void setFillExtrusionBaseTransition(TransitionOptions options) { + checkThread(); nativeSetFillExtrusionBaseTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java index ed780811c0..b51c49e517 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/FillLayer.java @@ -37,6 +37,7 @@ public class FillLayer extends Layer { * @param sourceId the id of the source */ public FillLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class FillLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class FillLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class FillLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class FillLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getFillAntialias() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("fill-antialias", nativeGetFillAntialias()); } @@ -136,6 +142,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getFillOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("fill-opacity", nativeGetFillOpacity()); } @@ -145,6 +152,7 @@ public class FillLayer extends Layer { * @return transition options for Float */ public TransitionOptions getFillOpacityTransition() { + checkThread(); return nativeGetFillOpacityTransition(); } @@ -154,6 +162,7 @@ public class FillLayer extends Layer { * @param options transition options for Float */ public void setFillOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetFillOpacityTransition(options.getDuration(), options.getDelay()); } @@ -164,6 +173,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-color", nativeGetFillColor()); } @@ -175,6 +185,7 @@ public class FillLayer extends Layer { */ @ColorInt public int getFillColorAsInt() { + checkThread(); PropertyValue<String> value = getFillColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -189,6 +200,7 @@ public class FillLayer extends Layer { * @return transition options for String */ public TransitionOptions getFillColorTransition() { + checkThread(); return nativeGetFillColorTransition(); } @@ -198,6 +210,7 @@ public class FillLayer extends Layer { * @param options transition options for String */ public void setFillColorTransition(TransitionOptions options) { + checkThread(); nativeSetFillColorTransition(options.getDuration(), options.getDelay()); } @@ -208,6 +221,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillOutlineColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-outline-color", nativeGetFillOutlineColor()); } @@ -219,6 +233,7 @@ public class FillLayer extends Layer { */ @ColorInt public int getFillOutlineColorAsInt() { + checkThread(); PropertyValue<String> value = getFillOutlineColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -233,6 +248,7 @@ public class FillLayer extends Layer { * @return transition options for String */ public TransitionOptions getFillOutlineColorTransition() { + checkThread(); return nativeGetFillOutlineColorTransition(); } @@ -242,6 +258,7 @@ public class FillLayer extends Layer { * @param options transition options for String */ public void setFillOutlineColorTransition(TransitionOptions options) { + checkThread(); nativeSetFillOutlineColorTransition(options.getDuration(), options.getDelay()); } @@ -252,6 +269,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getFillTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("fill-translate", nativeGetFillTranslate()); } @@ -261,6 +279,7 @@ public class FillLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getFillTranslateTransition() { + checkThread(); return nativeGetFillTranslateTransition(); } @@ -270,6 +289,7 @@ public class FillLayer extends Layer { * @param options transition options for Float[] */ public void setFillTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetFillTranslateTransition(options.getDuration(), options.getDelay()); } @@ -280,6 +300,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-translate-anchor", nativeGetFillTranslateAnchor()); } @@ -290,6 +311,7 @@ public class FillLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getFillPattern() { + checkThread(); return (PropertyValue<String>) new PropertyValue("fill-pattern", nativeGetFillPattern()); } @@ -299,6 +321,7 @@ public class FillLayer extends Layer { * @return transition options for String */ public TransitionOptions getFillPatternTransition() { + checkThread(); return nativeGetFillPatternTransition(); } @@ -308,6 +331,7 @@ public class FillLayer extends Layer { * @param options transition options for String */ public void setFillPatternTransition(TransitionOptions options) { + checkThread(); nativeSetFillPatternTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java index 42b4210710..d28e4bd838 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HeatmapLayer.java @@ -37,6 +37,7 @@ public class HeatmapLayer extends Layer { * @param sourceId the id of the source */ public HeatmapLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class HeatmapLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class HeatmapLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class HeatmapLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class HeatmapLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class HeatmapLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHeatmapRadius() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("heatmap-radius", nativeGetHeatmapRadius()); } @@ -135,6 +141,7 @@ public class HeatmapLayer extends Layer { * @return transition options for Float */ public TransitionOptions getHeatmapRadiusTransition() { + checkThread(); return nativeGetHeatmapRadiusTransition(); } @@ -144,6 +151,7 @@ public class HeatmapLayer extends Layer { * @param options transition options for Float */ public void setHeatmapRadiusTransition(TransitionOptions options) { + checkThread(); nativeSetHeatmapRadiusTransition(options.getDuration(), options.getDelay()); } @@ -154,6 +162,7 @@ public class HeatmapLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHeatmapWeight() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("heatmap-weight", nativeGetHeatmapWeight()); } @@ -164,6 +173,7 @@ public class HeatmapLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHeatmapIntensity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("heatmap-intensity", nativeGetHeatmapIntensity()); } @@ -173,6 +183,7 @@ public class HeatmapLayer extends Layer { * @return transition options for Float */ public TransitionOptions getHeatmapIntensityTransition() { + checkThread(); return nativeGetHeatmapIntensityTransition(); } @@ -182,6 +193,7 @@ public class HeatmapLayer extends Layer { * @param options transition options for Float */ public void setHeatmapIntensityTransition(TransitionOptions options) { + checkThread(); nativeSetHeatmapIntensityTransition(options.getDuration(), options.getDelay()); } @@ -192,6 +204,7 @@ public class HeatmapLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getHeatmapColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("heatmap-color", nativeGetHeatmapColor()); } @@ -203,6 +216,7 @@ public class HeatmapLayer extends Layer { */ @ColorInt public int getHeatmapColorAsInt() { + checkThread(); PropertyValue<String> value = getHeatmapColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -218,6 +232,7 @@ public class HeatmapLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHeatmapOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("heatmap-opacity", nativeGetHeatmapOpacity()); } @@ -227,6 +242,7 @@ public class HeatmapLayer extends Layer { * @return transition options for Float */ public TransitionOptions getHeatmapOpacityTransition() { + checkThread(); return nativeGetHeatmapOpacityTransition(); } @@ -236,6 +252,7 @@ public class HeatmapLayer extends Layer { * @param options transition options for Float */ public void setHeatmapOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetHeatmapOpacityTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java index fb086f424b..75a2607b05 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/HillshadeLayer.java @@ -37,6 +37,7 @@ public class HillshadeLayer extends Layer { * @param sourceId the id of the source */ public HillshadeLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class HillshadeLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -82,6 +84,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHillshadeIlluminationDirection() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("hillshade-illumination-direction", nativeGetHillshadeIlluminationDirection()); } @@ -92,6 +95,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getHillshadeIlluminationAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("hillshade-illumination-anchor", nativeGetHillshadeIlluminationAnchor()); } @@ -102,6 +106,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getHillshadeExaggeration() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("hillshade-exaggeration", nativeGetHillshadeExaggeration()); } @@ -111,6 +116,7 @@ public class HillshadeLayer extends Layer { * @return transition options for Float */ public TransitionOptions getHillshadeExaggerationTransition() { + checkThread(); return nativeGetHillshadeExaggerationTransition(); } @@ -120,6 +126,7 @@ public class HillshadeLayer extends Layer { * @param options transition options for Float */ public void setHillshadeExaggerationTransition(TransitionOptions options) { + checkThread(); nativeSetHillshadeExaggerationTransition(options.getDuration(), options.getDelay()); } @@ -130,6 +137,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getHillshadeShadowColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("hillshade-shadow-color", nativeGetHillshadeShadowColor()); } @@ -141,6 +149,7 @@ public class HillshadeLayer extends Layer { */ @ColorInt public int getHillshadeShadowColorAsInt() { + checkThread(); PropertyValue<String> value = getHillshadeShadowColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -155,6 +164,7 @@ public class HillshadeLayer extends Layer { * @return transition options for String */ public TransitionOptions getHillshadeShadowColorTransition() { + checkThread(); return nativeGetHillshadeShadowColorTransition(); } @@ -164,6 +174,7 @@ public class HillshadeLayer extends Layer { * @param options transition options for String */ public void setHillshadeShadowColorTransition(TransitionOptions options) { + checkThread(); nativeSetHillshadeShadowColorTransition(options.getDuration(), options.getDelay()); } @@ -174,6 +185,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getHillshadeHighlightColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("hillshade-highlight-color", nativeGetHillshadeHighlightColor()); } @@ -185,6 +197,7 @@ public class HillshadeLayer extends Layer { */ @ColorInt public int getHillshadeHighlightColorAsInt() { + checkThread(); PropertyValue<String> value = getHillshadeHighlightColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -199,6 +212,7 @@ public class HillshadeLayer extends Layer { * @return transition options for String */ public TransitionOptions getHillshadeHighlightColorTransition() { + checkThread(); return nativeGetHillshadeHighlightColorTransition(); } @@ -208,6 +222,7 @@ public class HillshadeLayer extends Layer { * @param options transition options for String */ public void setHillshadeHighlightColorTransition(TransitionOptions options) { + checkThread(); nativeSetHillshadeHighlightColorTransition(options.getDuration(), options.getDelay()); } @@ -218,6 +233,7 @@ public class HillshadeLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getHillshadeAccentColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("hillshade-accent-color", nativeGetHillshadeAccentColor()); } @@ -229,6 +245,7 @@ public class HillshadeLayer extends Layer { */ @ColorInt public int getHillshadeAccentColorAsInt() { + checkThread(); PropertyValue<String> value = getHillshadeAccentColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -243,6 +260,7 @@ public class HillshadeLayer extends Layer { * @return transition options for String */ public TransitionOptions getHillshadeAccentColorTransition() { + checkThread(); return nativeGetHillshadeAccentColorTransition(); } @@ -252,6 +270,7 @@ public class HillshadeLayer extends Layer { * @param options transition options for String */ public void setHillshadeAccentColorTransition(TransitionOptions options) { + checkThread(); nativeSetHillshadeAccentColorTransition(options.getDuration(), options.getDelay()); } 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 diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java index 5e6e6d38e7..b094162c4b 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/LineLayer.java @@ -37,6 +37,7 @@ public class LineLayer extends Layer { * @param sourceId the id of the source */ public LineLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class LineLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class LineLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class LineLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class LineLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getLineCap() { + checkThread(); return (PropertyValue<String>) new PropertyValue("line-cap", nativeGetLineCap()); } @@ -136,6 +142,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getLineJoin() { + checkThread(); return (PropertyValue<String>) new PropertyValue("line-join", nativeGetLineJoin()); } @@ -146,6 +153,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineMiterLimit() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-miter-limit", nativeGetLineMiterLimit()); } @@ -156,6 +164,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineRoundLimit() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-round-limit", nativeGetLineRoundLimit()); } @@ -166,6 +175,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-opacity", nativeGetLineOpacity()); } @@ -175,6 +185,7 @@ public class LineLayer extends Layer { * @return transition options for Float */ public TransitionOptions getLineOpacityTransition() { + checkThread(); return nativeGetLineOpacityTransition(); } @@ -184,6 +195,7 @@ public class LineLayer extends Layer { * @param options transition options for Float */ public void setLineOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetLineOpacityTransition(options.getDuration(), options.getDelay()); } @@ -194,6 +206,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getLineColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("line-color", nativeGetLineColor()); } @@ -205,6 +218,7 @@ public class LineLayer extends Layer { */ @ColorInt public int getLineColorAsInt() { + checkThread(); PropertyValue<String> value = getLineColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -219,6 +233,7 @@ public class LineLayer extends Layer { * @return transition options for String */ public TransitionOptions getLineColorTransition() { + checkThread(); return nativeGetLineColorTransition(); } @@ -228,6 +243,7 @@ public class LineLayer extends Layer { * @param options transition options for String */ public void setLineColorTransition(TransitionOptions options) { + checkThread(); nativeSetLineColorTransition(options.getDuration(), options.getDelay()); } @@ -238,6 +254,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getLineTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("line-translate", nativeGetLineTranslate()); } @@ -247,6 +264,7 @@ public class LineLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getLineTranslateTransition() { + checkThread(); return nativeGetLineTranslateTransition(); } @@ -256,6 +274,7 @@ public class LineLayer extends Layer { * @param options transition options for Float[] */ public void setLineTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetLineTranslateTransition(options.getDuration(), options.getDelay()); } @@ -266,6 +285,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getLineTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("line-translate-anchor", nativeGetLineTranslateAnchor()); } @@ -276,6 +296,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-width", nativeGetLineWidth()); } @@ -285,6 +306,7 @@ public class LineLayer extends Layer { * @return transition options for Float */ public TransitionOptions getLineWidthTransition() { + checkThread(); return nativeGetLineWidthTransition(); } @@ -294,6 +316,7 @@ public class LineLayer extends Layer { * @param options transition options for Float */ public void setLineWidthTransition(TransitionOptions options) { + checkThread(); nativeSetLineWidthTransition(options.getDuration(), options.getDelay()); } @@ -304,6 +327,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineGapWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-gap-width", nativeGetLineGapWidth()); } @@ -313,6 +337,7 @@ public class LineLayer extends Layer { * @return transition options for Float */ public TransitionOptions getLineGapWidthTransition() { + checkThread(); return nativeGetLineGapWidthTransition(); } @@ -322,6 +347,7 @@ public class LineLayer extends Layer { * @param options transition options for Float */ public void setLineGapWidthTransition(TransitionOptions options) { + checkThread(); nativeSetLineGapWidthTransition(options.getDuration(), options.getDelay()); } @@ -332,6 +358,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineOffset() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-offset", nativeGetLineOffset()); } @@ -341,6 +368,7 @@ public class LineLayer extends Layer { * @return transition options for Float */ public TransitionOptions getLineOffsetTransition() { + checkThread(); return nativeGetLineOffsetTransition(); } @@ -350,6 +378,7 @@ public class LineLayer extends Layer { * @param options transition options for Float */ public void setLineOffsetTransition(TransitionOptions options) { + checkThread(); nativeSetLineOffsetTransition(options.getDuration(), options.getDelay()); } @@ -360,6 +389,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getLineBlur() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("line-blur", nativeGetLineBlur()); } @@ -369,6 +399,7 @@ public class LineLayer extends Layer { * @return transition options for Float */ public TransitionOptions getLineBlurTransition() { + checkThread(); return nativeGetLineBlurTransition(); } @@ -378,6 +409,7 @@ public class LineLayer extends Layer { * @param options transition options for Float */ public void setLineBlurTransition(TransitionOptions options) { + checkThread(); nativeSetLineBlurTransition(options.getDuration(), options.getDelay()); } @@ -388,6 +420,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getLineDasharray() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("line-dasharray", nativeGetLineDasharray()); } @@ -397,6 +430,7 @@ public class LineLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getLineDasharrayTransition() { + checkThread(); return nativeGetLineDasharrayTransition(); } @@ -406,6 +440,7 @@ public class LineLayer extends Layer { * @param options transition options for Float[] */ public void setLineDasharrayTransition(TransitionOptions options) { + checkThread(); nativeSetLineDasharrayTransition(options.getDuration(), options.getDelay()); } @@ -416,6 +451,7 @@ public class LineLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getLinePattern() { + checkThread(); return (PropertyValue<String>) new PropertyValue("line-pattern", nativeGetLinePattern()); } @@ -425,6 +461,7 @@ public class LineLayer extends Layer { * @return transition options for String */ public TransitionOptions getLinePatternTransition() { + checkThread(); return nativeGetLinePatternTransition(); } @@ -434,6 +471,7 @@ public class LineLayer extends Layer { * @param options transition options for String */ public void setLinePatternTransition(TransitionOptions options) { + checkThread(); nativeSetLinePatternTransition(options.getDuration(), options.getDelay()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java index 0c7948f62a..218ed36744 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/RasterLayer.java @@ -37,6 +37,7 @@ public class RasterLayer extends Layer { * @param sourceId the id of the source */ public RasterLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class RasterLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -82,6 +84,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-opacity", nativeGetRasterOpacity()); } @@ -91,6 +94,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterOpacityTransition() { + checkThread(); return nativeGetRasterOpacityTransition(); } @@ -100,6 +104,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetRasterOpacityTransition(options.getDuration(), options.getDelay()); } @@ -110,6 +115,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterHueRotate() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-hue-rotate", nativeGetRasterHueRotate()); } @@ -119,6 +125,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterHueRotateTransition() { + checkThread(); return nativeGetRasterHueRotateTransition(); } @@ -128,6 +135,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterHueRotateTransition(TransitionOptions options) { + checkThread(); nativeSetRasterHueRotateTransition(options.getDuration(), options.getDelay()); } @@ -138,6 +146,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterBrightnessMin() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-brightness-min", nativeGetRasterBrightnessMin()); } @@ -147,6 +156,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterBrightnessMinTransition() { + checkThread(); return nativeGetRasterBrightnessMinTransition(); } @@ -156,6 +166,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterBrightnessMinTransition(TransitionOptions options) { + checkThread(); nativeSetRasterBrightnessMinTransition(options.getDuration(), options.getDelay()); } @@ -166,6 +177,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterBrightnessMax() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-brightness-max", nativeGetRasterBrightnessMax()); } @@ -175,6 +187,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterBrightnessMaxTransition() { + checkThread(); return nativeGetRasterBrightnessMaxTransition(); } @@ -184,6 +197,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterBrightnessMaxTransition(TransitionOptions options) { + checkThread(); nativeSetRasterBrightnessMaxTransition(options.getDuration(), options.getDelay()); } @@ -194,6 +208,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterSaturation() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-saturation", nativeGetRasterSaturation()); } @@ -203,6 +218,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterSaturationTransition() { + checkThread(); return nativeGetRasterSaturationTransition(); } @@ -212,6 +228,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterSaturationTransition(TransitionOptions options) { + checkThread(); nativeSetRasterSaturationTransition(options.getDuration(), options.getDelay()); } @@ -222,6 +239,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterContrast() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-contrast", nativeGetRasterContrast()); } @@ -231,6 +249,7 @@ public class RasterLayer extends Layer { * @return transition options for Float */ public TransitionOptions getRasterContrastTransition() { + checkThread(); return nativeGetRasterContrastTransition(); } @@ -240,6 +259,7 @@ public class RasterLayer extends Layer { * @param options transition options for Float */ public void setRasterContrastTransition(TransitionOptions options) { + checkThread(); nativeSetRasterContrastTransition(options.getDuration(), options.getDelay()); } @@ -250,6 +270,7 @@ public class RasterLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getRasterFadeDuration() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("raster-fade-duration", nativeGetRasterFadeDuration()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java index 6a2e131d7d..4aefad3956 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/SymbolLayer.java @@ -37,6 +37,7 @@ public class SymbolLayer extends Layer { * @param sourceId the id of the source */ public SymbolLayer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -48,6 +49,7 @@ public class SymbolLayer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -68,6 +70,7 @@ public class SymbolLayer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -77,6 +80,7 @@ public class SymbolLayer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -98,6 +102,7 @@ public class SymbolLayer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -126,6 +131,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getSymbolPlacement() { + checkThread(); return (PropertyValue<String>) new PropertyValue("symbol-placement", nativeGetSymbolPlacement()); } @@ -136,6 +142,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getSymbolSpacing() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("symbol-spacing", nativeGetSymbolSpacing()); } @@ -146,6 +153,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getSymbolAvoidEdges() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("symbol-avoid-edges", nativeGetSymbolAvoidEdges()); } @@ -156,6 +164,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getIconAllowOverlap() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("icon-allow-overlap", nativeGetIconAllowOverlap()); } @@ -166,6 +175,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getIconIgnorePlacement() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("icon-ignore-placement", nativeGetIconIgnorePlacement()); } @@ -176,6 +186,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getIconOptional() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("icon-optional", nativeGetIconOptional()); } @@ -186,6 +197,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconRotationAlignment() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-rotation-alignment", nativeGetIconRotationAlignment()); } @@ -196,6 +208,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconSize() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-size", nativeGetIconSize()); } @@ -206,6 +219,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconTextFit() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-text-fit", nativeGetIconTextFit()); } @@ -216,6 +230,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getIconTextFitPadding() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("icon-text-fit-padding", nativeGetIconTextFitPadding()); } @@ -226,6 +241,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconImage() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-image", nativeGetIconImage()); } @@ -236,6 +252,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconRotate() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-rotate", nativeGetIconRotate()); } @@ -246,6 +263,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconPadding() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-padding", nativeGetIconPadding()); } @@ -256,6 +274,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getIconKeepUpright() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("icon-keep-upright", nativeGetIconKeepUpright()); } @@ -266,6 +285,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getIconOffset() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("icon-offset", nativeGetIconOffset()); } @@ -276,6 +296,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-anchor", nativeGetIconAnchor()); } @@ -286,6 +307,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconPitchAlignment() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-pitch-alignment", nativeGetIconPitchAlignment()); } @@ -296,6 +318,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextPitchAlignment() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-pitch-alignment", nativeGetTextPitchAlignment()); } @@ -306,6 +329,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextRotationAlignment() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-rotation-alignment", nativeGetTextRotationAlignment()); } @@ -316,6 +340,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextField() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-field", nativeGetTextField()); } @@ -326,6 +351,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String[]> getTextFont() { + checkThread(); return (PropertyValue<String[]>) new PropertyValue("text-font", nativeGetTextFont()); } @@ -336,6 +362,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextSize() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-size", nativeGetTextSize()); } @@ -346,6 +373,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextMaxWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-max-width", nativeGetTextMaxWidth()); } @@ -356,6 +384,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextLineHeight() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-line-height", nativeGetTextLineHeight()); } @@ -366,6 +395,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextLetterSpacing() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-letter-spacing", nativeGetTextLetterSpacing()); } @@ -376,6 +406,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextJustify() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-justify", nativeGetTextJustify()); } @@ -386,6 +417,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-anchor", nativeGetTextAnchor()); } @@ -396,6 +428,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextMaxAngle() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-max-angle", nativeGetTextMaxAngle()); } @@ -406,6 +439,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextRotate() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-rotate", nativeGetTextRotate()); } @@ -416,6 +450,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextPadding() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-padding", nativeGetTextPadding()); } @@ -426,6 +461,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getTextKeepUpright() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("text-keep-upright", nativeGetTextKeepUpright()); } @@ -436,6 +472,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextTransform() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-transform", nativeGetTextTransform()); } @@ -446,6 +483,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getTextOffset() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("text-offset", nativeGetTextOffset()); } @@ -456,6 +494,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getTextAllowOverlap() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("text-allow-overlap", nativeGetTextAllowOverlap()); } @@ -466,6 +505,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getTextIgnorePlacement() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("text-ignore-placement", nativeGetTextIgnorePlacement()); } @@ -476,6 +516,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Boolean> getTextOptional() { + checkThread(); return (PropertyValue<Boolean>) new PropertyValue("text-optional", nativeGetTextOptional()); } @@ -486,6 +527,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-opacity", nativeGetIconOpacity()); } @@ -495,6 +537,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getIconOpacityTransition() { + checkThread(); return nativeGetIconOpacityTransition(); } @@ -504,6 +547,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setIconOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetIconOpacityTransition(options.getDuration(), options.getDelay()); } @@ -514,6 +558,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-color", nativeGetIconColor()); } @@ -525,6 +570,7 @@ public class SymbolLayer extends Layer { */ @ColorInt public int getIconColorAsInt() { + checkThread(); PropertyValue<String> value = getIconColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -539,6 +585,7 @@ public class SymbolLayer extends Layer { * @return transition options for String */ public TransitionOptions getIconColorTransition() { + checkThread(); return nativeGetIconColorTransition(); } @@ -548,6 +595,7 @@ public class SymbolLayer extends Layer { * @param options transition options for String */ public void setIconColorTransition(TransitionOptions options) { + checkThread(); nativeSetIconColorTransition(options.getDuration(), options.getDelay()); } @@ -558,6 +606,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconHaloColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-halo-color", nativeGetIconHaloColor()); } @@ -569,6 +618,7 @@ public class SymbolLayer extends Layer { */ @ColorInt public int getIconHaloColorAsInt() { + checkThread(); PropertyValue<String> value = getIconHaloColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -583,6 +633,7 @@ public class SymbolLayer extends Layer { * @return transition options for String */ public TransitionOptions getIconHaloColorTransition() { + checkThread(); return nativeGetIconHaloColorTransition(); } @@ -592,6 +643,7 @@ public class SymbolLayer extends Layer { * @param options transition options for String */ public void setIconHaloColorTransition(TransitionOptions options) { + checkThread(); nativeSetIconHaloColorTransition(options.getDuration(), options.getDelay()); } @@ -602,6 +654,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconHaloWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-halo-width", nativeGetIconHaloWidth()); } @@ -611,6 +664,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getIconHaloWidthTransition() { + checkThread(); return nativeGetIconHaloWidthTransition(); } @@ -620,6 +674,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setIconHaloWidthTransition(TransitionOptions options) { + checkThread(); nativeSetIconHaloWidthTransition(options.getDuration(), options.getDelay()); } @@ -630,6 +685,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getIconHaloBlur() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("icon-halo-blur", nativeGetIconHaloBlur()); } @@ -639,6 +695,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getIconHaloBlurTransition() { + checkThread(); return nativeGetIconHaloBlurTransition(); } @@ -648,6 +705,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setIconHaloBlurTransition(TransitionOptions options) { + checkThread(); nativeSetIconHaloBlurTransition(options.getDuration(), options.getDelay()); } @@ -658,6 +716,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getIconTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("icon-translate", nativeGetIconTranslate()); } @@ -667,6 +726,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getIconTranslateTransition() { + checkThread(); return nativeGetIconTranslateTransition(); } @@ -676,6 +736,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float[] */ public void setIconTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetIconTranslateTransition(options.getDuration(), options.getDelay()); } @@ -686,6 +747,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getIconTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("icon-translate-anchor", nativeGetIconTranslateAnchor()); } @@ -696,6 +758,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextOpacity() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-opacity", nativeGetTextOpacity()); } @@ -705,6 +768,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getTextOpacityTransition() { + checkThread(); return nativeGetTextOpacityTransition(); } @@ -714,6 +778,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setTextOpacityTransition(TransitionOptions options) { + checkThread(); nativeSetTextOpacityTransition(options.getDuration(), options.getDelay()); } @@ -724,6 +789,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-color", nativeGetTextColor()); } @@ -735,6 +801,7 @@ public class SymbolLayer extends Layer { */ @ColorInt public int getTextColorAsInt() { + checkThread(); PropertyValue<String> value = getTextColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -749,6 +816,7 @@ public class SymbolLayer extends Layer { * @return transition options for String */ public TransitionOptions getTextColorTransition() { + checkThread(); return nativeGetTextColorTransition(); } @@ -758,6 +826,7 @@ public class SymbolLayer extends Layer { * @param options transition options for String */ public void setTextColorTransition(TransitionOptions options) { + checkThread(); nativeSetTextColorTransition(options.getDuration(), options.getDelay()); } @@ -768,6 +837,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextHaloColor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-halo-color", nativeGetTextHaloColor()); } @@ -779,6 +849,7 @@ public class SymbolLayer extends Layer { */ @ColorInt public int getTextHaloColorAsInt() { + checkThread(); PropertyValue<String> value = getTextHaloColor(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -793,6 +864,7 @@ public class SymbolLayer extends Layer { * @return transition options for String */ public TransitionOptions getTextHaloColorTransition() { + checkThread(); return nativeGetTextHaloColorTransition(); } @@ -802,6 +874,7 @@ public class SymbolLayer extends Layer { * @param options transition options for String */ public void setTextHaloColorTransition(TransitionOptions options) { + checkThread(); nativeSetTextHaloColorTransition(options.getDuration(), options.getDelay()); } @@ -812,6 +885,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextHaloWidth() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-halo-width", nativeGetTextHaloWidth()); } @@ -821,6 +895,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getTextHaloWidthTransition() { + checkThread(); return nativeGetTextHaloWidthTransition(); } @@ -830,6 +905,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setTextHaloWidthTransition(TransitionOptions options) { + checkThread(); nativeSetTextHaloWidthTransition(options.getDuration(), options.getDelay()); } @@ -840,6 +916,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float> getTextHaloBlur() { + checkThread(); return (PropertyValue<Float>) new PropertyValue("text-halo-blur", nativeGetTextHaloBlur()); } @@ -849,6 +926,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float */ public TransitionOptions getTextHaloBlurTransition() { + checkThread(); return nativeGetTextHaloBlurTransition(); } @@ -858,6 +936,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float */ public void setTextHaloBlurTransition(TransitionOptions options) { + checkThread(); nativeSetTextHaloBlurTransition(options.getDuration(), options.getDelay()); } @@ -868,6 +947,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<Float[]> getTextTranslate() { + checkThread(); return (PropertyValue<Float[]>) new PropertyValue("text-translate", nativeGetTextTranslate()); } @@ -877,6 +957,7 @@ public class SymbolLayer extends Layer { * @return transition options for Float[] */ public TransitionOptions getTextTranslateTransition() { + checkThread(); return nativeGetTextTranslateTransition(); } @@ -886,6 +967,7 @@ public class SymbolLayer extends Layer { * @param options transition options for Float[] */ public void setTextTranslateTransition(TransitionOptions options) { + checkThread(); nativeSetTextTranslateTransition(options.getDuration(), options.getDelay()); } @@ -896,6 +978,7 @@ public class SymbolLayer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<String> getTextTranslateAnchor() { + checkThread(); return (PropertyValue<String>) new PropertyValue("text-translate-anchor", nativeGetTextTranslateAnchor()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs index 851a85f3d6..21b0a1d59e 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/layer.java.ejs @@ -42,6 +42,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @param layerId the id of the layer */ public <%- camelize(type) %>Layer(String layerId) { + super(); initialize(layerId); } @@ -55,6 +56,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @param sourceId the id of the source */ public <%- camelize(type) %>Layer(String layerId, String sourceId) { + super(); initialize(layerId, sourceId); } @@ -66,6 +68,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @param sourceLayer the source layer to set */ public void setSourceLayer(String sourceLayer) { + checkThread(); nativeSetSourceLayer(sourceLayer); } @@ -88,6 +91,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @return sourceLayer the source layer to get */ public String getSourceLayer() { + checkThread(); return nativeGetSourceLayer(); } @@ -97,6 +101,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @param filter the expression filter to set */ public void setFilter(Expression filter) { + checkThread(); nativeSetFilter(filter.toArray()); } @@ -118,6 +123,7 @@ public class <%- camelize(type) %>Layer extends Layer { */ @Nullable public Expression getFilter() { + checkThread(); Expression expression = null; JsonArray array = (JsonArray) nativeGetFilter(); if (array != null) { @@ -148,6 +154,7 @@ public class <%- camelize(type) %>Layer extends Layer { */ @SuppressWarnings("unchecked") public PropertyValue<<%- propertyType(property) %>> get<%- camelize(property.name) %>() { + checkThread(); return (PropertyValue<<%- propertyType(property) %>>) new PropertyValue("<%- property.name %>", nativeGet<%- camelize(property.name) %>()); } <% if (property.type == 'color') { -%> @@ -160,6 +167,7 @@ public class <%- camelize(type) %>Layer extends Layer { */ @ColorInt public int get<%- camelize(property.name) %>AsInt() { + checkThread(); PropertyValue<<%- propertyType(property) %>> value = get<%- camelize(property.name) %>(); if (value.isValue()) { return rgbaToColor(value.getValue()); @@ -176,6 +184,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @return transition options for <%- propertyType(property) %> */ public TransitionOptions get<%- camelize(property.name) %>Transition() { + checkThread(); return nativeGet<%- camelize(property.name) %>Transition(); } @@ -185,6 +194,7 @@ public class <%- camelize(type) %>Layer extends Layer { * @param options transition options for <%- propertyType(property) %> */ public void set<%- camelize(property.name) %>Transition(TransitionOptions options) { + checkThread(); nativeSet<%- camelize(property.name) %>Transition(options.getDuration(), options.getDelay()); } <% } -%> diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java index 7df48001cc..411c4c9652 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/Light.java @@ -9,6 +9,7 @@ import android.support.annotation.UiThread; import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.style.layers.PropertyFactory; import com.mapbox.mapboxsdk.style.layers.TransitionOptions; +import com.mapbox.mapboxsdk.utils.ThreadUtils; /** * The global light source. @@ -26,6 +27,7 @@ public class Light { * @param nativePtr pointer used by core */ public Light(long nativePtr) { + checkThread(); this.nativePtr = nativePtr; } @@ -35,6 +37,7 @@ public class Light { * @param anchor as String */ public void setAnchor(@Property.ANCHOR String anchor) { + checkThread(); nativeSetAnchor(anchor); } @@ -44,6 +47,7 @@ public class Light { * @return anchor as String */ @Property.ANCHOR public String getAnchor() { + checkThread(); return nativeGetAnchor(); } @@ -53,6 +57,7 @@ public class Light { * @param position of the light */ public void setPosition(@NonNull Position position) { + checkThread(); nativeSetPosition(position); } @@ -62,6 +67,7 @@ public class Light { * @return position as Position */ public Position getPosition() { + checkThread(); return nativeGetPosition(); } @@ -71,6 +77,7 @@ public class Light { * @return transition options for position */ public TransitionOptions getPositionTransition() { + checkThread(); return nativeGetPositionTransition(); } @@ -80,6 +87,7 @@ public class Light { * @param options transition options for position */ public void setPositionTransition(TransitionOptions options) { + checkThread(); nativeSetPositionTransition(options.getDuration(), options.getDelay()); } @@ -89,6 +97,7 @@ public class Light { * @param color as int */ public void setColor(@ColorInt int color) { + checkThread(); nativeSetColor(PropertyFactory.colorToRgbaString(color)); } @@ -98,6 +107,7 @@ public class Light { * @param color as String */ public void setColor(String color) { + checkThread(); nativeSetColor(color); } @@ -107,6 +117,7 @@ public class Light { * @return color as String */ public String getColor() { + checkThread(); return nativeGetColor(); } @@ -116,6 +127,7 @@ public class Light { * @return transition options for color */ public TransitionOptions getColorTransition() { + checkThread(); return nativeGetColorTransition(); } @@ -125,6 +137,7 @@ public class Light { * @param options transition options for color */ public void setColorTransition(TransitionOptions options) { + checkThread(); nativeSetColorTransition(options.getDuration(), options.getDelay()); } @@ -134,6 +147,7 @@ public class Light { * @param intensity as Float */ public void setIntensity(float intensity) { + checkThread(); nativeSetIntensity(intensity); } @@ -143,6 +157,7 @@ public class Light { * @return intensity as Float */ public float getIntensity() { + checkThread(); return nativeGetIntensity(); } @@ -152,6 +167,7 @@ public class Light { * @return transition options for intensity */ public TransitionOptions getIntensityTransition() { + checkThread(); return nativeGetIntensityTransition(); } @@ -161,9 +177,14 @@ public class Light { * @param options transition options for intensity */ public void setIntensityTransition(TransitionOptions options) { + checkThread(); nativeSetIntensityTransition(options.getDuration(), options.getDelay()); } + private void checkThread(){ + ThreadUtils.checkThread("Light"); + } + private native void nativeSetAnchor(String anchor); private native String nativeGetAnchor(); private native void nativeSetPosition(Position position); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs index 80d927128d..f3e7c31a4f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/light/light.java.ejs @@ -13,6 +13,7 @@ import android.support.annotation.UiThread; import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.style.layers.PropertyFactory; import com.mapbox.mapboxsdk.style.layers.TransitionOptions; +import com.mapbox.mapboxsdk.utils.ThreadUtils; /** * The global light source. @@ -30,6 +31,7 @@ public class Light { * @param nativePtr pointer used by core */ public Light(long nativePtr) { + checkThread(); this.nativePtr = nativePtr; } <% for (const property of properties) { -%> @@ -41,6 +43,7 @@ public class Light { * @param position of the light */ public void set<%- camelize(property.name) %>(@NonNull Position position) { + checkThread(); nativeSet<%- camelize(property.name) %>(position); } @@ -50,6 +53,7 @@ public class Light { * @return <%- property.name %> as Position */ public Position get<%- camelize(property.name) %>() { + checkThread(); return nativeGet<%- camelize(property.name) %>(); } <% } else { -%> @@ -61,6 +65,7 @@ public class Light { * @param <%- property.name %> as int */ public void set<%- camelize(property.name) %>(@ColorInt int <%- property.name %>) { + checkThread(); nativeSet<%- camelize(property.name) %>(PropertyFactory.colorToRgbaString(<%- property.name %>)); } <% } -%> @@ -71,6 +76,7 @@ public class Light { * @param <%- property.name %> as <%- propertyType(property) %> */ public void set<%- camelize(property.name) %>(<%- propertyTypeAnnotation(property) %><%- iff(() => propertyTypeAnnotation(property), " ") %><%- propertyJavaType(property) %> <%- property.name %>) { + checkThread(); nativeSet<%- camelize(property.name) %>(<%- property.name %>); } @@ -80,6 +86,7 @@ public class Light { * @return <%- property.name %> as <%- propertyType(property) %> */ <%- propertyTypeAnnotation(property) %> public <%- propertyJavaType(property) %> get<%- camelize(property.name) %>() { + checkThread(); return nativeGet<%- camelize(property.name) %>(); } <% } -%> @@ -91,6 +98,7 @@ public class Light { * @return transition options for <%- property.name %> */ public TransitionOptions get<%- camelize(property.name) %>Transition() { + checkThread(); return nativeGet<%- camelize(property.name) %>Transition(); } @@ -100,11 +108,16 @@ public class Light { * @param options transition options for <%- property.name %> */ public void set<%- camelize(property.name) %>Transition(TransitionOptions options) { + checkThread(); nativeSet<%- camelize(property.name) %>Transition(options.getDuration(), options.getDelay()); } <% } -%> <% } -%> + private void checkThread(){ + ThreadUtils.checkThread("Light"); + } + <% for (const property of properties) { -%> <% if (property.name == "position") {-%> private native void nativeSet<%- camelize(property.name) %>(Position position); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java index 21a34f6064..469bfa8f39 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/CustomGeometrySource.java @@ -49,6 +49,7 @@ public class CustomGeometrySource extends Source { * @param options CustomGeometrySourceOptions. */ public CustomGeometrySource(String id, GeometryTileProvider provider, CustomGeometrySourceOptions options) { + super(); this.provider = provider; executor = Executors.newFixedThreadPool(4); initialize(id, options); @@ -62,6 +63,7 @@ public class CustomGeometrySource extends Source { * @param bounds The region in which features should be invalidated at all zoom levels */ public void invalidateRegion(LatLngBounds bounds) { + checkThread(); nativeInvalidateBounds(bounds); } @@ -74,6 +76,7 @@ public class CustomGeometrySource extends Source { * @param y Tile Y coordinate. */ public void invalidateTile(int zoomLevel, int x, int y) { + checkThread(); nativeInvalidateTile(zoomLevel, x, y); } @@ -88,6 +91,7 @@ public class CustomGeometrySource extends Source { * @param data Feature collection for the tile. */ public void setTileData(int zoomLevel, int x, int y, FeatureCollection data) { + checkThread(); nativeSetTileData(zoomLevel, x, y, data); } @@ -99,6 +103,7 @@ public class CustomGeometrySource extends Source { */ @NonNull public List<Feature> querySourceFeatures(@Nullable Expression filter) { + checkThread(); Feature[] features = querySourceFeatures(filter != null ? filter.toArray() : null); return features != null ? Arrays.asList(features) : new ArrayList<Feature>(); } 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 efacc18741..9ecc70e123 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 @@ -37,6 +37,7 @@ public class GeoJsonSource extends Source { * @param id the source id */ public GeoJsonSource(String id) { + super(); initialize(id, null); setGeoJson(FeatureCollection.fromFeatures(new ArrayList<Feature>())); } @@ -48,6 +49,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, GeoJsonOptions options) { + super(); initialize(id, options); setGeoJson(FeatureCollection.fromFeatures(new ArrayList<Feature>())); } @@ -59,6 +61,7 @@ public class GeoJsonSource extends Source { * @param geoJson raw Json FeatureCollection */ public GeoJsonSource(String id, String geoJson) { + super(); if (geoJson == null || geoJson.startsWith("http")) { throw new IllegalArgumentException("Expected a raw json body"); } @@ -74,6 +77,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, String geoJson, GeoJsonOptions options) { + super(); if (geoJson == null || geoJson.startsWith("http")) { throw new IllegalArgumentException("Expected a raw json body"); } @@ -88,6 +92,7 @@ public class GeoJsonSource extends Source { * @param url remote json file */ public GeoJsonSource(String id, URL url) { + super(); initialize(id, null); nativeSetUrl(url.toExternalForm()); } @@ -100,6 +105,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, URL url, GeoJsonOptions options) { + super(); initialize(id, options); nativeSetUrl(url.toExternalForm()); } @@ -111,6 +117,7 @@ public class GeoJsonSource extends Source { * @param features the features */ public GeoJsonSource(String id, FeatureCollection features) { + super(); initialize(id, null); setGeoJson(features); } @@ -123,6 +130,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, FeatureCollection features, GeoJsonOptions options) { + super(); initialize(id, options); setGeoJson(features); } @@ -134,6 +142,7 @@ public class GeoJsonSource extends Source { * @param feature the feature */ public GeoJsonSource(String id, Feature feature) { + super(); initialize(id, null); setGeoJson(feature); } @@ -146,6 +155,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, Feature feature, GeoJsonOptions options) { + super(); initialize(id, options); setGeoJson(feature); } @@ -157,6 +167,7 @@ public class GeoJsonSource extends Source { * @param geometry the geometry */ public GeoJsonSource(String id, Geometry geometry) { + super(); initialize(id, null); setGeoJson(geometry); } @@ -169,6 +180,7 @@ public class GeoJsonSource extends Source { * @param options options */ public GeoJsonSource(String id, Geometry geometry, GeoJsonOptions options) { + super(); initialize(id, options); setGeoJson(geometry); } @@ -179,6 +191,7 @@ public class GeoJsonSource extends Source { * @param feature the GeoJSON {@link Feature} to set */ public void setGeoJson(Feature feature) { + checkThread(); nativeSetFeature(feature); } @@ -188,6 +201,7 @@ public class GeoJsonSource extends Source { * @param geometry the GeoJSON {@link Geometry} to set */ public void setGeoJson(Geometry geometry) { + checkThread(); nativeSetGeometry(geometry); } @@ -197,6 +211,7 @@ public class GeoJsonSource extends Source { * @param features the GeoJSON FeatureCollection */ public void setGeoJson(FeatureCollection features) { + checkThread(); nativeSetFeatureCollection(features); } @@ -206,6 +221,7 @@ public class GeoJsonSource extends Source { * @param json the raw GeoJson FeatureCollection string */ public void setGeoJson(String json) { + checkThread(); nativeSetGeoJsonString(json); } @@ -215,6 +231,7 @@ public class GeoJsonSource extends Source { * @param url the GeoJSON FeatureCollection url */ public void setUrl(URL url) { + checkThread(); setUrl(url.toExternalForm()); } @@ -224,6 +241,7 @@ public class GeoJsonSource extends Source { * @param url the GeoJSON FeatureCollection url */ public void setUrl(String url) { + checkThread(); nativeSetUrl(url); } @@ -232,6 +250,7 @@ public class GeoJsonSource extends Source { */ @Nullable public String getUrl() { + checkThread(); return nativeGetUrl(); } @@ -243,6 +262,7 @@ public class GeoJsonSource extends Source { */ @NonNull public List<Feature> querySourceFeatures(@Nullable Expression filter) { + checkThread(); Feature[] features = querySourceFeatures(filter != null ? filter.toArray() : null); return features != null ? Arrays.asList(features) : new ArrayList<Feature>(); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/ImageSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/ImageSource.java index b7679b5a16..2faf0d67ae 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/ImageSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/ImageSource.java @@ -45,6 +45,7 @@ public class ImageSource extends Source { * @param url remote json file */ public ImageSource(String id, LatLngQuad coordinates, URL url) { + super(); initialize(id, coordinates); setUrl(url); } @@ -57,6 +58,7 @@ public class ImageSource extends Source { * @param bitmap A Bitmap image */ public ImageSource(String id, LatLngQuad coordinates, @NonNull android.graphics.Bitmap bitmap) { + super(); initialize(id, coordinates); setImage(bitmap); } @@ -69,6 +71,7 @@ public class ImageSource extends Source { * @param resourceId The resource ID of a Bitmap image */ public ImageSource(String id, LatLngQuad coordinates, @DrawableRes int resourceId) { + super(); initialize(id, coordinates); setImage(resourceId); } @@ -88,6 +91,7 @@ public class ImageSource extends Source { * @param url An image url */ public void setUrl(String url) { + checkThread(); nativeSetUrl(url); } @@ -97,6 +101,7 @@ public class ImageSource extends Source { * @param bitmap A Bitmap image */ public void setImage(@NonNull android.graphics.Bitmap bitmap) { + checkThread(); nativeSetImage(bitmap); } @@ -106,6 +111,7 @@ public class ImageSource extends Source { * @param resourceId The resource ID of a Bitmap image */ public void setImage(@DrawableRes int resourceId) throws IllegalArgumentException { + checkThread(); Context context = Mapbox.getApplicationContext(); Drawable drawable = ContextCompat.getDrawable(context, resourceId); if (drawable instanceof BitmapDrawable) { @@ -121,6 +127,7 @@ public class ImageSource extends Source { */ @Nullable public String getUrl() { + checkThread(); return nativeGetUrl(); } @@ -130,6 +137,7 @@ public class ImageSource extends Source { * @param latLngQuad latitude and longitude of the four corners of the image */ public void setCoordinates(LatLngQuad latLngQuad) { + checkThread(); nativeSetCoordinates(latLngQuad); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterDemSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterDemSource.java index ee6fc5d7b7..0c510f7594 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterDemSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterDemSource.java @@ -40,6 +40,7 @@ public class RasterDemSource extends Source { * @param url the source url */ public RasterDemSource(String id, String url) { + super(); initialize(id, url, DEFAULT_TILE_SIZE); } @@ -51,6 +52,7 @@ public class RasterDemSource extends Source { * @param tileSize the tile size */ public RasterDemSource(String id, String url, int tileSize) { + super(); initialize(id, url, tileSize); } @@ -61,6 +63,7 @@ public class RasterDemSource extends Source { * @param tileSet the {@link TileSet} */ public RasterDemSource(String id, TileSet tileSet) { + super(); initialize(id, tileSet.toValueObject(), DEFAULT_TILE_SIZE); } @@ -72,6 +75,7 @@ public class RasterDemSource extends Source { * @param tileSize tje tile size */ public RasterDemSource(String id, TileSet tileSet, int tileSize) { + super(); initialize(id, tileSet.toValueObject(), tileSize); } @@ -80,6 +84,7 @@ public class RasterDemSource extends Source { */ @Nullable public String getUrl() { + checkThread(); return nativeGetUrl(); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterSource.java index 38ed208618..f1f4cc1ff1 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/RasterSource.java @@ -39,6 +39,7 @@ public class RasterSource extends Source { * @param url the source url */ public RasterSource(String id, String url) { + super(); initialize(id, url, DEFAULT_TILE_SIZE); } @@ -50,6 +51,7 @@ public class RasterSource extends Source { * @param tileSize the tile size */ public RasterSource(String id, String url, int tileSize) { + super(); initialize(id, url, tileSize); } @@ -60,6 +62,7 @@ public class RasterSource extends Source { * @param tileSet the {@link TileSet} */ public RasterSource(String id, TileSet tileSet) { + super(); initialize(id, tileSet.toValueObject(), DEFAULT_TILE_SIZE); } @@ -71,6 +74,7 @@ public class RasterSource extends Source { * @param tileSize tje tile size */ public RasterSource(String id, TileSet tileSet, int tileSize) { + super(); initialize(id, tileSet.toValueObject(), tileSize); } @@ -79,6 +83,7 @@ public class RasterSource extends Source { */ @Nullable public String getUrl() { + checkThread(); return nativeGetUrl(); } 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 22b2244537..6a0939569a 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 @@ -1,9 +1,12 @@ package com.mapbox.mapboxsdk.style.sources; +import com.mapbox.mapboxsdk.utils.ThreadUtils; + /** * Base Peer class for sources. see source.hpp for the other half of the peer. */ public abstract class Source { + private long nativePtr; /** @@ -12,10 +15,19 @@ public abstract class Source { * @param nativePtr - pointer to native peer */ public Source(long nativePtr) { + checkThread(); this.nativePtr = nativePtr; } public Source() { + checkThread(); + } + + /** + * Validates if source interaction is happening on the UI thread + */ + protected void checkThread() { + ThreadUtils.checkThread("Source"); } /** @@ -24,6 +36,7 @@ public abstract class Source { * @return the source id */ public String getId() { + checkThread(); return nativeGetId(); } @@ -36,6 +49,7 @@ public abstract class Source { * @return the string representation of the attribution in html format */ public String getAttribution() { + checkThread(); return nativeGetAttribution(); } @@ -51,5 +65,4 @@ public abstract class Source { protected native String nativeGetId(); protected native String nativeGetAttribution(); - } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/VectorSource.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/VectorSource.java index d82eaaa1c7..0df17572e9 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/VectorSource.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/sources/VectorSource.java @@ -47,6 +47,7 @@ public class VectorSource extends Source { * @param url the url */ public VectorSource(String id, String url) { + super(); initialize(id, url); } @@ -57,6 +58,7 @@ public class VectorSource extends Source { * @param tileSet the tileset */ public VectorSource(String id, TileSet tileSet) { + super(); initialize(id, tileSet.toValueObject()); } @@ -70,6 +72,7 @@ public class VectorSource extends Source { @NonNull public List<Feature> querySourceFeatures(@Size(min = 1) String[] sourceLayerIds, @Nullable Expression filter) { + checkThread(); Feature[] features = querySourceFeatures( sourceLayerIds, filter != null ? filter.toArray() : null); @@ -81,6 +84,7 @@ public class VectorSource extends Source { */ @Nullable public String getUrl() { + checkThread(); return nativeGetUrl(); } |