@@ -0,0 +1,8 @@
|
||||
package com.mapbox.mapboxsdk.exceptions;
|
||||
|
||||
public class CalledFromWorkerThreadException extends RuntimeException {
|
||||
|
||||
public CalledFromWorkerThreadException(String message) {
|
||||
super(message);
|
||||
}
|
||||
}
|
||||
@@ -11,7 +11,6 @@ import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.text.TextUtils;
|
||||
import android.util.DisplayMetrics;
|
||||
|
||||
import com.mapbox.geojson.Feature;
|
||||
import com.mapbox.geojson.Geometry;
|
||||
import com.mapbox.mapboxsdk.LibraryLoader;
|
||||
@@ -20,6 +19,7 @@ import com.mapbox.mapboxsdk.annotations.Marker;
|
||||
import com.mapbox.mapboxsdk.annotations.Polygon;
|
||||
import com.mapbox.mapboxsdk.annotations.Polyline;
|
||||
import com.mapbox.mapboxsdk.camera.CameraPosition;
|
||||
import com.mapbox.mapboxsdk.exceptions.CalledFromWorkerThreadException;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.geometry.ProjectedMeters;
|
||||
@@ -32,6 +32,7 @@ import com.mapbox.mapboxsdk.style.light.Light;
|
||||
import com.mapbox.mapboxsdk.style.sources.CannotAddSourceException;
|
||||
import com.mapbox.mapboxsdk.style.sources.Source;
|
||||
import com.mapbox.mapboxsdk.utils.BitmapUtils;
|
||||
import timber.log.Timber;
|
||||
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.ArrayList;
|
||||
@@ -41,8 +42,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
// Class that wraps the native methods for convenience
|
||||
final class NativeMapView {
|
||||
|
||||
@@ -52,6 +51,9 @@ final class NativeMapView {
|
||||
// Used to schedule work on the MapRenderer Thread
|
||||
private final MapRenderer mapRenderer;
|
||||
|
||||
// Used to validate if methods are called from the correct thread
|
||||
private final Thread thread;
|
||||
|
||||
// Used for callbacks
|
||||
private ViewCallback viewCallback;
|
||||
|
||||
@@ -87,6 +89,7 @@ final class NativeMapView {
|
||||
this.viewCallback = viewCallback;
|
||||
this.fileSource = FileSource.getInstance(context);
|
||||
this.pixelRatio = pixelRatio;
|
||||
this.thread = Thread.currentThread();
|
||||
nativeInitialize(this, fileSource, mapRenderer, pixelRatio);
|
||||
}
|
||||
|
||||
@@ -94,7 +97,17 @@ final class NativeMapView {
|
||||
// Methods
|
||||
//
|
||||
|
||||
private boolean isDestroyedOn(String callingMethod) {
|
||||
private boolean checkState(String callingMethod) {
|
||||
// validate if invocation has occurred on the main thread
|
||||
if (thread != Thread.currentThread()) {
|
||||
throw new CalledFromWorkerThreadException(
|
||||
String.format(
|
||||
"Map interactions should happen on the UI thread. Method invoked from wrong thread is %s.",
|
||||
callingMethod)
|
||||
);
|
||||
}
|
||||
|
||||
// validate if map has already been destroyed
|
||||
if (destroyed && !TextUtils.isEmpty(callingMethod)) {
|
||||
Timber.e(
|
||||
"You're calling `%s` after the `MapView` was destroyed, were you invoking it after `onDestroy()`?",
|
||||
@@ -112,7 +125,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void update() {
|
||||
if (isDestroyedOn("update")) {
|
||||
if (checkState("update")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -120,7 +133,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void resizeView(int width, int height) {
|
||||
if (isDestroyedOn("resizeView")) {
|
||||
if (checkState("resizeView")) {
|
||||
return;
|
||||
}
|
||||
width = (int) (width / pixelRatio);
|
||||
@@ -152,84 +165,84 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void setStyleUrl(String url) {
|
||||
if (isDestroyedOn("setStyleUrl")) {
|
||||
if (checkState("setStyleUrl")) {
|
||||
return;
|
||||
}
|
||||
nativeSetStyleUrl(url);
|
||||
}
|
||||
|
||||
public String getStyleUrl() {
|
||||
if (isDestroyedOn("getStyleUrl")) {
|
||||
if (checkState("getStyleUrl")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetStyleUrl();
|
||||
}
|
||||
|
||||
public void setStyleJson(String newStyleJson) {
|
||||
if (isDestroyedOn("setStyleJson")) {
|
||||
if (checkState("setStyleJson")) {
|
||||
return;
|
||||
}
|
||||
nativeSetStyleJson(newStyleJson);
|
||||
}
|
||||
|
||||
public String getStyleJson() {
|
||||
if (isDestroyedOn("getStyleJson")) {
|
||||
if (checkState("getStyleJson")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetStyleJson();
|
||||
}
|
||||
|
||||
public void setLatLngBounds(LatLngBounds latLngBounds) {
|
||||
if (isDestroyedOn("setLatLngBounds")) {
|
||||
if (checkState("setLatLngBounds")) {
|
||||
return;
|
||||
}
|
||||
nativeSetLatLngBounds(latLngBounds);
|
||||
}
|
||||
|
||||
public void cancelTransitions() {
|
||||
if (isDestroyedOn("cancelTransitions")) {
|
||||
if (checkState("cancelTransitions")) {
|
||||
return;
|
||||
}
|
||||
nativeCancelTransitions();
|
||||
}
|
||||
|
||||
public void setGestureInProgress(boolean inProgress) {
|
||||
if (isDestroyedOn("setGestureInProgress")) {
|
||||
if (checkState("setGestureInProgress")) {
|
||||
return;
|
||||
}
|
||||
nativeSetGestureInProgress(inProgress);
|
||||
}
|
||||
|
||||
public void moveBy(double dx, double dy) {
|
||||
if (isDestroyedOn("moveBy")) {
|
||||
if (checkState("moveBy")) {
|
||||
return;
|
||||
}
|
||||
moveBy(dx, dy, 0);
|
||||
}
|
||||
|
||||
public void moveBy(double dx, double dy, long duration) {
|
||||
if (isDestroyedOn("moveBy")) {
|
||||
if (checkState("moveBy")) {
|
||||
return;
|
||||
}
|
||||
nativeMoveBy(dx / pixelRatio, dy / pixelRatio, duration);
|
||||
}
|
||||
|
||||
public void setLatLng(LatLng latLng) {
|
||||
if (isDestroyedOn("setLatLng")) {
|
||||
if (checkState("setLatLng")) {
|
||||
return;
|
||||
}
|
||||
setLatLng(latLng, 0);
|
||||
}
|
||||
|
||||
public void setLatLng(LatLng latLng, long duration) {
|
||||
if (isDestroyedOn("setLatLng")) {
|
||||
if (checkState("setLatLng")) {
|
||||
return;
|
||||
}
|
||||
nativeSetLatLng(latLng.getLatitude(), latLng.getLongitude(), duration);
|
||||
}
|
||||
|
||||
public LatLng getLatLng() {
|
||||
if (isDestroyedOn("")) {
|
||||
if (checkState("")) {
|
||||
return new LatLng();
|
||||
}
|
||||
// wrap longitude values coming from core
|
||||
@@ -237,7 +250,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public CameraPosition getCameraForLatLngBounds(LatLngBounds latLngBounds, int[] padding) {
|
||||
if (isDestroyedOn("getCameraForLatLngBounds")) {
|
||||
if (checkState("getCameraForLatLngBounds")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetCameraForLatLngBounds(
|
||||
@@ -249,7 +262,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public CameraPosition getCameraForGeometry(Geometry geometry, double bearing, int[] padding) {
|
||||
if (isDestroyedOn("getCameraForGeometry")) {
|
||||
if (checkState("getCameraForGeometry")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetCameraForGeometry(
|
||||
@@ -261,77 +274,77 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void resetPosition() {
|
||||
if (isDestroyedOn("resetPosition")) {
|
||||
if (checkState("resetPosition")) {
|
||||
return;
|
||||
}
|
||||
nativeResetPosition();
|
||||
}
|
||||
|
||||
public double getPitch() {
|
||||
if (isDestroyedOn("getPitch")) {
|
||||
if (checkState("getPitch")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetPitch();
|
||||
}
|
||||
|
||||
public void setPitch(double pitch, long duration) {
|
||||
if (isDestroyedOn("setPitch")) {
|
||||
if (checkState("setPitch")) {
|
||||
return;
|
||||
}
|
||||
nativeSetPitch(pitch, duration);
|
||||
}
|
||||
|
||||
public void setZoom(double zoom, PointF focalPoint, long duration) {
|
||||
if (isDestroyedOn("setZoom")) {
|
||||
if (checkState("setZoom")) {
|
||||
return;
|
||||
}
|
||||
nativeSetZoom(zoom, focalPoint.x / pixelRatio, focalPoint.y / pixelRatio, duration);
|
||||
}
|
||||
|
||||
public double getZoom() {
|
||||
if (isDestroyedOn("getZoom")) {
|
||||
if (checkState("getZoom")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetZoom();
|
||||
}
|
||||
|
||||
public void resetZoom() {
|
||||
if (isDestroyedOn("resetZoom")) {
|
||||
if (checkState("resetZoom")) {
|
||||
return;
|
||||
}
|
||||
nativeResetZoom();
|
||||
}
|
||||
|
||||
public void setMinZoom(double zoom) {
|
||||
if (isDestroyedOn("setMinZoom")) {
|
||||
if (checkState("setMinZoom")) {
|
||||
return;
|
||||
}
|
||||
nativeSetMinZoom(zoom);
|
||||
}
|
||||
|
||||
public double getMinZoom() {
|
||||
if (isDestroyedOn("getMinZoom")) {
|
||||
if (checkState("getMinZoom")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetMinZoom();
|
||||
}
|
||||
|
||||
public void setMaxZoom(double zoom) {
|
||||
if (isDestroyedOn("setMaxZoom")) {
|
||||
if (checkState("setMaxZoom")) {
|
||||
return;
|
||||
}
|
||||
nativeSetMaxZoom(zoom);
|
||||
}
|
||||
|
||||
public double getMaxZoom() {
|
||||
if (isDestroyedOn("getMaxZoom")) {
|
||||
if (checkState("getMaxZoom")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetMaxZoom();
|
||||
}
|
||||
|
||||
public void rotateBy(double sx, double sy, double ex, double ey) {
|
||||
if (isDestroyedOn("rotateBy")) {
|
||||
if (checkState("rotateBy")) {
|
||||
return;
|
||||
}
|
||||
rotateBy(sx, sy, ex, ey, 0);
|
||||
@@ -339,14 +352,14 @@ final class NativeMapView {
|
||||
|
||||
public void rotateBy(double sx, double sy, double ex, double ey,
|
||||
long duration) {
|
||||
if (isDestroyedOn("rotateBy")) {
|
||||
if (checkState("rotateBy")) {
|
||||
return;
|
||||
}
|
||||
nativeRotateBy(sx / pixelRatio, sy / pixelRatio, ex, ey, duration);
|
||||
}
|
||||
|
||||
public void setContentPadding(int[] padding) {
|
||||
if (isDestroyedOn("setContentPadding")) {
|
||||
if (checkState("setContentPadding")) {
|
||||
return;
|
||||
}
|
||||
nativeSetContentPadding(
|
||||
@@ -357,49 +370,49 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void setBearing(double degrees) {
|
||||
if (isDestroyedOn("setBearing")) {
|
||||
if (checkState("setBearing")) {
|
||||
return;
|
||||
}
|
||||
setBearing(degrees, 0);
|
||||
}
|
||||
|
||||
public void setBearing(double degrees, long duration) {
|
||||
if (isDestroyedOn("setBearing")) {
|
||||
if (checkState("setBearing")) {
|
||||
return;
|
||||
}
|
||||
nativeSetBearing(degrees, duration);
|
||||
}
|
||||
|
||||
public void setBearing(double degrees, double cx, double cy) {
|
||||
if (isDestroyedOn("setBearing")) {
|
||||
if (checkState("setBearing")) {
|
||||
return;
|
||||
}
|
||||
setBearing(degrees, cx, cy, 0);
|
||||
}
|
||||
|
||||
public void setBearing(double degrees, double fx, double fy, long duration) {
|
||||
if (isDestroyedOn("setBearing")) {
|
||||
if (checkState("setBearing")) {
|
||||
return;
|
||||
}
|
||||
nativeSetBearingXY(degrees, fx / pixelRatio, fy / pixelRatio, duration);
|
||||
}
|
||||
|
||||
public double getBearing() {
|
||||
if (isDestroyedOn("getBearing")) {
|
||||
if (checkState("getBearing")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetBearing();
|
||||
}
|
||||
|
||||
public void resetNorth() {
|
||||
if (isDestroyedOn("resetNorth")) {
|
||||
if (checkState("resetNorth")) {
|
||||
return;
|
||||
}
|
||||
nativeResetNorth();
|
||||
}
|
||||
|
||||
public long addMarker(Marker marker) {
|
||||
if (isDestroyedOn("addMarker")) {
|
||||
if (checkState("addMarker")) {
|
||||
return 0;
|
||||
}
|
||||
Marker[] markers = {marker};
|
||||
@@ -407,14 +420,14 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public long[] addMarkers(List<Marker> markers) {
|
||||
if (isDestroyedOn("addMarkers")) {
|
||||
if (checkState("addMarkers")) {
|
||||
return new long[] {};
|
||||
}
|
||||
return nativeAddMarkers(markers.toArray(new Marker[markers.size()]));
|
||||
}
|
||||
|
||||
public long addPolyline(Polyline polyline) {
|
||||
if (isDestroyedOn("addPolyline")) {
|
||||
if (checkState("addPolyline")) {
|
||||
return 0;
|
||||
}
|
||||
Polyline[] polylines = {polyline};
|
||||
@@ -422,14 +435,14 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public long[] addPolylines(List<Polyline> polylines) {
|
||||
if (isDestroyedOn("addPolylines")) {
|
||||
if (checkState("addPolylines")) {
|
||||
return new long[] {};
|
||||
}
|
||||
return nativeAddPolylines(polylines.toArray(new Polyline[polylines.size()]));
|
||||
}
|
||||
|
||||
public long addPolygon(Polygon polygon) {
|
||||
if (isDestroyedOn("addPolygon")) {
|
||||
if (checkState("addPolygon")) {
|
||||
return 0;
|
||||
}
|
||||
Polygon[] polygons = {polygon};
|
||||
@@ -437,14 +450,14 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public long[] addPolygons(List<Polygon> polygons) {
|
||||
if (isDestroyedOn("addPolygons")) {
|
||||
if (checkState("addPolygons")) {
|
||||
return new long[] {};
|
||||
}
|
||||
return nativeAddPolygons(polygons.toArray(new Polygon[polygons.size()]));
|
||||
}
|
||||
|
||||
public void updateMarker(Marker marker) {
|
||||
if (isDestroyedOn("updateMarker")) {
|
||||
if (checkState("updateMarker")) {
|
||||
return;
|
||||
}
|
||||
LatLng position = marker.getPosition();
|
||||
@@ -453,21 +466,21 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void updatePolygon(Polygon polygon) {
|
||||
if (isDestroyedOn("updatePolygon")) {
|
||||
if (checkState("updatePolygon")) {
|
||||
return;
|
||||
}
|
||||
nativeUpdatePolygon(polygon.getId(), polygon);
|
||||
}
|
||||
|
||||
public void updatePolyline(Polyline polyline) {
|
||||
if (isDestroyedOn("updatePolyline")) {
|
||||
if (checkState("updatePolyline")) {
|
||||
return;
|
||||
}
|
||||
nativeUpdatePolyline(polyline.getId(), polyline);
|
||||
}
|
||||
|
||||
public void removeAnnotation(long id) {
|
||||
if (isDestroyedOn("removeAnnotation")) {
|
||||
if (checkState("removeAnnotation")) {
|
||||
return;
|
||||
}
|
||||
long[] ids = {id};
|
||||
@@ -475,105 +488,105 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void removeAnnotations(long[] ids) {
|
||||
if (isDestroyedOn("removeAnnotations")) {
|
||||
if (checkState("removeAnnotations")) {
|
||||
return;
|
||||
}
|
||||
nativeRemoveAnnotations(ids);
|
||||
}
|
||||
|
||||
public long[] queryPointAnnotations(RectF rect) {
|
||||
if (isDestroyedOn("queryPointAnnotations")) {
|
||||
if (checkState("queryPointAnnotations")) {
|
||||
return new long[] {};
|
||||
}
|
||||
return nativeQueryPointAnnotations(rect);
|
||||
}
|
||||
|
||||
public long[] queryShapeAnnotations(RectF rectF) {
|
||||
if (isDestroyedOn("queryShapeAnnotations")) {
|
||||
if (checkState("queryShapeAnnotations")) {
|
||||
return new long[] {};
|
||||
}
|
||||
return nativeQueryShapeAnnotations(rectF);
|
||||
}
|
||||
|
||||
public void addAnnotationIcon(String symbol, int width, int height, float scale, byte[] pixels) {
|
||||
if (isDestroyedOn("addAnnotationIcon")) {
|
||||
if (checkState("addAnnotationIcon")) {
|
||||
return;
|
||||
}
|
||||
nativeAddAnnotationIcon(symbol, width, height, scale, pixels);
|
||||
}
|
||||
|
||||
public void removeAnnotationIcon(String symbol) {
|
||||
if (isDestroyedOn("removeAnnotationIcon")) {
|
||||
if (checkState("removeAnnotationIcon")) {
|
||||
return;
|
||||
}
|
||||
nativeRemoveAnnotationIcon(symbol);
|
||||
}
|
||||
|
||||
public void setVisibleCoordinateBounds(LatLng[] coordinates, RectF padding, double direction, long duration) {
|
||||
if (isDestroyedOn("setVisibleCoordinateBounds")) {
|
||||
if (checkState("setVisibleCoordinateBounds")) {
|
||||
return;
|
||||
}
|
||||
nativeSetVisibleCoordinateBounds(coordinates, padding, direction, duration);
|
||||
}
|
||||
|
||||
public void onLowMemory() {
|
||||
if (isDestroyedOn("onLowMemory")) {
|
||||
if (checkState("onLowMemory")) {
|
||||
return;
|
||||
}
|
||||
nativeOnLowMemory();
|
||||
}
|
||||
|
||||
public void setDebug(boolean debug) {
|
||||
if (isDestroyedOn("setDebug")) {
|
||||
if (checkState("setDebug")) {
|
||||
return;
|
||||
}
|
||||
nativeSetDebug(debug);
|
||||
}
|
||||
|
||||
public void cycleDebugOptions() {
|
||||
if (isDestroyedOn("cycleDebugOptions")) {
|
||||
if (checkState("cycleDebugOptions")) {
|
||||
return;
|
||||
}
|
||||
nativeCycleDebugOptions();
|
||||
}
|
||||
|
||||
public boolean getDebug() {
|
||||
if (isDestroyedOn("getDebug")) {
|
||||
if (checkState("getDebug")) {
|
||||
return false;
|
||||
}
|
||||
return nativeGetDebug();
|
||||
}
|
||||
|
||||
public boolean isFullyLoaded() {
|
||||
if (isDestroyedOn("isFullyLoaded")) {
|
||||
if (checkState("isFullyLoaded")) {
|
||||
return false;
|
||||
}
|
||||
return nativeIsFullyLoaded();
|
||||
}
|
||||
|
||||
public void setReachability(boolean status) {
|
||||
if (isDestroyedOn("setReachability")) {
|
||||
if (checkState("setReachability")) {
|
||||
return;
|
||||
}
|
||||
nativeSetReachability(status);
|
||||
}
|
||||
|
||||
public double getMetersPerPixelAtLatitude(double lat) {
|
||||
if (isDestroyedOn("getMetersPerPixelAtLatitude")) {
|
||||
if (checkState("getMetersPerPixelAtLatitude")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetMetersPerPixelAtLatitude(lat, getZoom()) / pixelRatio;
|
||||
}
|
||||
|
||||
public ProjectedMeters projectedMetersForLatLng(LatLng latLng) {
|
||||
if (isDestroyedOn("projectedMetersForLatLng")) {
|
||||
if (checkState("projectedMetersForLatLng")) {
|
||||
return null;
|
||||
}
|
||||
return nativeProjectedMetersForLatLng(latLng.getLatitude(), latLng.getLongitude());
|
||||
}
|
||||
|
||||
public LatLng latLngForProjectedMeters(ProjectedMeters projectedMeters) {
|
||||
if (isDestroyedOn("latLngForProjectedMeters")) {
|
||||
if (checkState("latLngForProjectedMeters")) {
|
||||
return new LatLng();
|
||||
}
|
||||
return nativeLatLngForProjectedMeters(projectedMeters.getNorthing(),
|
||||
@@ -581,7 +594,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public PointF pixelForLatLng(LatLng latLng) {
|
||||
if (isDestroyedOn("pixelForLatLng")) {
|
||||
if (checkState("pixelForLatLng")) {
|
||||
return new PointF();
|
||||
}
|
||||
PointF pointF = nativePixelForLatLng(latLng.getLatitude(), latLng.getLongitude());
|
||||
@@ -590,21 +603,21 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public LatLng latLngForPixel(PointF pixel) {
|
||||
if (isDestroyedOn("latLngForPixel")) {
|
||||
if (checkState("latLngForPixel")) {
|
||||
return new LatLng();
|
||||
}
|
||||
return nativeLatLngForPixel(pixel.x / pixelRatio, pixel.y / pixelRatio).wrap();
|
||||
}
|
||||
|
||||
public double getTopOffsetPixelsForAnnotationSymbol(String symbolName) {
|
||||
if (isDestroyedOn("getTopOffsetPixelsForAnnotationSymbol")) {
|
||||
if (checkState("getTopOffsetPixelsForAnnotationSymbol")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetTopOffsetPixelsForAnnotationSymbol(symbolName);
|
||||
}
|
||||
|
||||
public void jumpTo(double angle, LatLng center, double pitch, double zoom) {
|
||||
if (isDestroyedOn("jumpTo")) {
|
||||
if (checkState("jumpTo")) {
|
||||
return;
|
||||
}
|
||||
nativeJumpTo(angle, center.getLatitude(), center.getLongitude(), pitch, zoom);
|
||||
@@ -612,7 +625,7 @@ final class NativeMapView {
|
||||
|
||||
public void easeTo(double angle, LatLng center, long duration, double pitch, double zoom,
|
||||
boolean easingInterpolator) {
|
||||
if (isDestroyedOn("easeTo")) {
|
||||
if (checkState("easeTo")) {
|
||||
return;
|
||||
}
|
||||
nativeEaseTo(angle, center.getLatitude(), center.getLongitude(), duration, pitch, zoom,
|
||||
@@ -620,28 +633,28 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void flyTo(double angle, LatLng center, long duration, double pitch, double zoom) {
|
||||
if (isDestroyedOn("flyTo")) {
|
||||
if (checkState("flyTo")) {
|
||||
return;
|
||||
}
|
||||
nativeFlyTo(angle, center.getLatitude(), center.getLongitude(), duration, pitch, zoom);
|
||||
}
|
||||
|
||||
public CameraPosition getCameraPosition() {
|
||||
if (isDestroyedOn("getCameraValues")) {
|
||||
if (checkState("getCameraValues")) {
|
||||
return new CameraPosition.Builder().build();
|
||||
}
|
||||
return nativeGetCameraPosition();
|
||||
}
|
||||
|
||||
public void setPrefetchesTiles(boolean enable) {
|
||||
if (isDestroyedOn("setPrefetchesTiles")) {
|
||||
if (checkState("setPrefetchesTiles")) {
|
||||
return;
|
||||
}
|
||||
nativeSetPrefetchesTiles(enable);
|
||||
}
|
||||
|
||||
public boolean getPrefetchesTiles() {
|
||||
if (isDestroyedOn("getPrefetchesTiles")) {
|
||||
if (checkState("getPrefetchesTiles")) {
|
||||
return false;
|
||||
}
|
||||
return nativeGetPrefetchesTiles();
|
||||
@@ -666,42 +679,42 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public List<Layer> getLayers() {
|
||||
if (isDestroyedOn("getLayers")) {
|
||||
if (checkState("getLayers")) {
|
||||
return null;
|
||||
}
|
||||
return Arrays.asList(nativeGetLayers());
|
||||
}
|
||||
|
||||
public Layer getLayer(String layerId) {
|
||||
if (isDestroyedOn("getLayer")) {
|
||||
if (checkState("getLayer")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetLayer(layerId);
|
||||
}
|
||||
|
||||
public void addLayer(@NonNull Layer layer) {
|
||||
if (isDestroyedOn("addLayer")) {
|
||||
if (checkState("addLayer")) {
|
||||
return;
|
||||
}
|
||||
nativeAddLayer(layer.getNativePtr(), null);
|
||||
}
|
||||
|
||||
public void addLayerBelow(@NonNull Layer layer, @NonNull String below) {
|
||||
if (isDestroyedOn("addLayerBelow")) {
|
||||
if (checkState("addLayerBelow")) {
|
||||
return;
|
||||
}
|
||||
nativeAddLayer(layer.getNativePtr(), below);
|
||||
}
|
||||
|
||||
public void addLayerAbove(@NonNull Layer layer, @NonNull String above) {
|
||||
if (isDestroyedOn("addLayerAbove")) {
|
||||
if (checkState("addLayerAbove")) {
|
||||
return;
|
||||
}
|
||||
nativeAddLayerAbove(layer.getNativePtr(), above);
|
||||
}
|
||||
|
||||
public void addLayerAt(@NonNull Layer layer, @IntRange(from = 0) int index) {
|
||||
if (isDestroyedOn("addLayerAt")) {
|
||||
if (checkState("addLayerAt")) {
|
||||
return;
|
||||
}
|
||||
nativeAddLayerAt(layer.getNativePtr(), index);
|
||||
@@ -709,7 +722,7 @@ final class NativeMapView {
|
||||
|
||||
@Nullable
|
||||
public Layer removeLayer(@NonNull String layerId) {
|
||||
if (isDestroyedOn("removeLayer")) {
|
||||
if (checkState("removeLayer")) {
|
||||
return null;
|
||||
}
|
||||
return nativeRemoveLayerById(layerId);
|
||||
@@ -717,7 +730,7 @@ final class NativeMapView {
|
||||
|
||||
@Nullable
|
||||
public Layer removeLayer(@NonNull Layer layer) {
|
||||
if (isDestroyedOn("removeLayer")) {
|
||||
if (checkState("removeLayer")) {
|
||||
return null;
|
||||
}
|
||||
nativeRemoveLayer(layer.getNativePtr());
|
||||
@@ -726,28 +739,28 @@ final class NativeMapView {
|
||||
|
||||
@Nullable
|
||||
public Layer removeLayerAt(@IntRange(from = 0) int index) {
|
||||
if (isDestroyedOn("removeLayerAt")) {
|
||||
if (checkState("removeLayerAt")) {
|
||||
return null;
|
||||
}
|
||||
return nativeRemoveLayerAt(index);
|
||||
}
|
||||
|
||||
public List<Source> getSources() {
|
||||
if (isDestroyedOn("getSources")) {
|
||||
if (checkState("getSources")) {
|
||||
return null;
|
||||
}
|
||||
return Arrays.asList(nativeGetSources());
|
||||
}
|
||||
|
||||
public Source getSource(@NonNull String sourceId) {
|
||||
if (isDestroyedOn("getSource")) {
|
||||
if (checkState("getSource")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetSource(sourceId);
|
||||
}
|
||||
|
||||
public void addSource(@NonNull Source source) {
|
||||
if (isDestroyedOn("addSource")) {
|
||||
if (checkState("addSource")) {
|
||||
return;
|
||||
}
|
||||
nativeAddSource(source, source.getNativePtr());
|
||||
@@ -755,7 +768,7 @@ final class NativeMapView {
|
||||
|
||||
@Nullable
|
||||
public Source removeSource(@NonNull String sourceId) {
|
||||
if (isDestroyedOn("removeSource")) {
|
||||
if (checkState("removeSource")) {
|
||||
return null;
|
||||
}
|
||||
Source source = getSource(sourceId);
|
||||
@@ -767,7 +780,7 @@ final class NativeMapView {
|
||||
|
||||
@Nullable
|
||||
public Source removeSource(@NonNull Source source) {
|
||||
if (isDestroyedOn("removeSource")) {
|
||||
if (checkState("removeSource")) {
|
||||
return null;
|
||||
}
|
||||
nativeRemoveSource(source, source.getNativePtr());
|
||||
@@ -775,7 +788,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void addImage(@NonNull String name, @NonNull Bitmap image) {
|
||||
if (isDestroyedOn("addImage")) {
|
||||
if (checkState("addImage")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -785,7 +798,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void addImages(@NonNull HashMap<String, Bitmap> bitmapHashMap) {
|
||||
if (isDestroyedOn("addImages")) {
|
||||
if (checkState("addImages")) {
|
||||
return;
|
||||
}
|
||||
//noinspection unchecked
|
||||
@@ -793,14 +806,14 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void removeImage(String name) {
|
||||
if (isDestroyedOn("removeImage")) {
|
||||
if (checkState("removeImage")) {
|
||||
return;
|
||||
}
|
||||
nativeRemoveImage(name);
|
||||
}
|
||||
|
||||
public Bitmap getImage(String name) {
|
||||
if (isDestroyedOn("getImage")) {
|
||||
if (checkState("getImage")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetImage(name);
|
||||
@@ -812,7 +825,7 @@ final class NativeMapView {
|
||||
public List<Feature> queryRenderedFeatures(@NonNull PointF coordinates,
|
||||
@Nullable String[] layerIds,
|
||||
@Nullable Expression filter) {
|
||||
if (isDestroyedOn("queryRenderedFeatures")) {
|
||||
if (checkState("queryRenderedFeatures")) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
Feature[] features = nativeQueryRenderedFeaturesForPoint(coordinates.x / pixelRatio,
|
||||
@@ -824,7 +837,7 @@ final class NativeMapView {
|
||||
public List<Feature> queryRenderedFeatures(@NonNull RectF coordinates,
|
||||
@Nullable String[] layerIds,
|
||||
@Nullable Expression filter) {
|
||||
if (isDestroyedOn("queryRenderedFeatures")) {
|
||||
if (checkState("queryRenderedFeatures")) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
Feature[] features = nativeQueryRenderedFeaturesForBox(
|
||||
@@ -838,14 +851,14 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
public void setApiBaseUrl(String baseUrl) {
|
||||
if (isDestroyedOn("setApiBaseUrl")) {
|
||||
if (checkState("setApiBaseUrl")) {
|
||||
return;
|
||||
}
|
||||
fileSource.setApiBaseUrl(baseUrl);
|
||||
}
|
||||
|
||||
public Light getLight() {
|
||||
if (isDestroyedOn("getLight")) {
|
||||
if (checkState("getLight")) {
|
||||
return null;
|
||||
}
|
||||
return nativeGetLight();
|
||||
@@ -879,7 +892,7 @@ final class NativeMapView {
|
||||
}
|
||||
|
||||
protected void onSnapshotReady(Bitmap mapContent) {
|
||||
if (isDestroyedOn("OnSnapshotReady")) {
|
||||
if (checkState("OnSnapshotReady")) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1078,14 +1091,14 @@ final class NativeMapView {
|
||||
private native boolean nativeGetPrefetchesTiles();
|
||||
|
||||
int getWidth() {
|
||||
if (isDestroyedOn("")) {
|
||||
if (checkState("")) {
|
||||
return 0;
|
||||
}
|
||||
return viewCallback.getWidth();
|
||||
}
|
||||
|
||||
int getHeight() {
|
||||
if (isDestroyedOn("")) {
|
||||
if (checkState("")) {
|
||||
return 0;
|
||||
}
|
||||
return viewCallback.getHeight();
|
||||
@@ -1110,7 +1123,7 @@ final class NativeMapView {
|
||||
//
|
||||
|
||||
void addSnapshotCallback(@NonNull MapboxMap.SnapshotReadyCallback callback) {
|
||||
if (isDestroyedOn("addSnapshotCallback")) {
|
||||
if (checkState("addSnapshotCallback")) {
|
||||
return;
|
||||
}
|
||||
snapshotReadyCallback = callback;
|
||||
@@ -1185,7 +1198,7 @@ final class NativeMapView {
|
||||
@Override
|
||||
protected void onPostExecute(List<Image> images) {
|
||||
super.onPostExecute(images);
|
||||
if (nativeMapView != null && !nativeMapView.isDestroyedOn("nativeAddImages")) {
|
||||
if (nativeMapView != null && !nativeMapView.checkState("nativeAddImages")) {
|
||||
nativeMapView.nativeAddImages(images.toArray(new Image[images.size()]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ import android.util.DisplayMetrics;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.mapbox.mapboxsdk.R;
|
||||
import com.mapbox.mapboxsdk.attribution.AttributionLayout;
|
||||
import com.mapbox.mapboxsdk.attribution.AttributionMeasure;
|
||||
@@ -25,7 +24,7 @@ import com.mapbox.mapboxsdk.camera.CameraPosition;
|
||||
import com.mapbox.mapboxsdk.constants.Style;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLngBounds;
|
||||
import com.mapbox.mapboxsdk.storage.FileSource;
|
||||
|
||||
import com.mapbox.mapboxsdk.utils.ThreadUtils;
|
||||
import timber.log.Timber;
|
||||
|
||||
/**
|
||||
@@ -213,6 +212,7 @@ public class MapSnapshotter {
|
||||
* @param options the options to use for the snapshot
|
||||
*/
|
||||
public MapSnapshotter(@NonNull Context context, @NonNull Options options) {
|
||||
checkThread();
|
||||
this.context = context.getApplicationContext();
|
||||
FileSource fileSource = FileSource.getInstance(context);
|
||||
String programCacheDir = context.getCacheDir().getAbsolutePath();
|
||||
@@ -243,7 +243,7 @@ public class MapSnapshotter {
|
||||
if (this.callback != null) {
|
||||
throw new IllegalStateException("Snapshotter was already started");
|
||||
}
|
||||
|
||||
checkThread();
|
||||
this.callback = callback;
|
||||
this.errorHandler = errorHandler;
|
||||
nativeStart();
|
||||
@@ -284,6 +284,7 @@ public class MapSnapshotter {
|
||||
* the object was created on.
|
||||
*/
|
||||
public void cancel() {
|
||||
checkThread();
|
||||
reset();
|
||||
nativeCancel();
|
||||
}
|
||||
@@ -465,6 +466,10 @@ public class MapSnapshotter {
|
||||
}
|
||||
}
|
||||
|
||||
private void checkThread() {
|
||||
ThreadUtils.checkThread("MapSnapshotter");
|
||||
}
|
||||
|
||||
protected void reset() {
|
||||
callback = null;
|
||||
errorHandler = null;
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
<% } -%>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>();
|
||||
}
|
||||
|
||||
@@ -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>();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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();
|
||||
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.mapbox.mapboxsdk.utils;
|
||||
|
||||
import android.os.Looper;
|
||||
import com.mapbox.mapboxsdk.exceptions.CalledFromWorkerThreadException;
|
||||
|
||||
public class ThreadUtils {
|
||||
|
||||
/**
|
||||
* Validates if execution is occuring on the main thread.
|
||||
*/
|
||||
public static void checkThread(String origin) {
|
||||
if (Looper.myLooper() != Looper.getMainLooper()) {
|
||||
throw new CalledFromWorkerThreadException(
|
||||
String.format("%s interactions should happen on the UI thread.",origin));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.mapbox.mapboxsdk.annotations;
|
||||
|
||||
import android.graphics.Bitmap;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.Mock;
|
||||
|
||||
@@ -634,7 +634,7 @@ public class MapboxMapTest extends BaseActivityTest {
|
||||
}));
|
||||
}
|
||||
|
||||
private class MapboxMapAction implements ViewAction {
|
||||
public class MapboxMapAction implements ViewAction {
|
||||
|
||||
private InvokeViewAction invokeViewAction;
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ public class MapboxMapAction implements ViewAction {
|
||||
private OnInvokeActionListener invokeViewAction;
|
||||
private MapboxMap mapboxMap;
|
||||
|
||||
private MapboxMapAction(OnInvokeActionListener invokeViewAction, MapboxMap mapboxMap) {
|
||||
public MapboxMapAction(OnInvokeActionListener invokeViewAction, MapboxMap mapboxMap) {
|
||||
this.invokeViewAction = invokeViewAction;
|
||||
this.mapboxMap = mapboxMap;
|
||||
}
|
||||
|
||||
@@ -6,19 +6,17 @@ import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.support.test.espresso.Espresso;
|
||||
import android.support.test.espresso.IdlingResourceTimeoutException;
|
||||
import android.support.test.espresso.ViewInteraction;
|
||||
import android.support.test.rule.ActivityTestRule;
|
||||
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
|
||||
import com.mapbox.mapboxsdk.testapp.action.WaitAction;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource;
|
||||
|
||||
import junit.framework.Assert;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
|
||||
import timber.log.Timber;
|
||||
|
||||
import static android.support.test.espresso.Espresso.onView;
|
||||
@@ -83,6 +81,14 @@ public abstract class BaseActivityTest {
|
||||
return activeNetworkInfo != null && activeNetworkInfo.isConnected();
|
||||
}
|
||||
|
||||
protected ViewInteraction onMapView() {
|
||||
return onView(withId(R.id.mapView));
|
||||
}
|
||||
|
||||
protected MapboxMapAction getMapboxMapAction(MapboxMapAction.OnInvokeActionListener onInvokeActionListener) {
|
||||
return new MapboxMapAction(onInvokeActionListener, mapboxMap);
|
||||
}
|
||||
|
||||
@After
|
||||
public void afterTest() {
|
||||
Timber.e("@After test: unregister idle resource");
|
||||
|
||||
@@ -2,19 +2,16 @@ package com.mapbox.mapboxsdk.testapp.annotations;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.support.v4.content.res.ResourcesCompat;
|
||||
|
||||
import com.mapbox.mapboxsdk.annotations.Icon;
|
||||
import com.mapbox.mapboxsdk.annotations.IconFactory;
|
||||
import com.mapbox.mapboxsdk.annotations.Marker;
|
||||
import com.mapbox.mapboxsdk.annotations.MarkerOptions;
|
||||
import com.mapbox.mapboxsdk.geometry.LatLng;
|
||||
import com.mapbox.mapboxsdk.maps.IconManagerResolver;
|
||||
import com.mapbox.mapboxsdk.maps.MapboxMap;
|
||||
import com.mapbox.mapboxsdk.testapp.R;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
|
||||
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
|
||||
import com.mapbox.mapboxsdk.testapp.utils.IconUtils;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
@@ -39,104 +36,114 @@ public class IconTest extends BaseActivityTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEmpty() throws Exception {
|
||||
public void testEmpty() {
|
||||
assertTrue(iconMap.isEmpty());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddSameIconMarker() throws Exception {
|
||||
Icon defaultMarker = IconFactory.getInstance(rule.getActivity()).defaultMarker();
|
||||
getMapboxMap().addMarker(new MarkerOptions().position(new LatLng()));
|
||||
getMapboxMap().addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(1, iconMap.size());
|
||||
assertEquals(2, iconMap.get(defaultMarker), 0);
|
||||
public void testAddSameIconMarker() {
|
||||
validateTestSetup();
|
||||
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
|
||||
Icon defaultMarker = IconFactory.getInstance(rule.getActivity()).defaultMarker();
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng()));
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(1, iconMap.size());
|
||||
assertEquals(2, iconMap.get(defaultMarker), 0);
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddDifferentIconMarker() throws Exception {
|
||||
Icon icon = IconFactory.getInstance(rule.getActivity()).fromResource(R.drawable.mapbox_logo_icon);
|
||||
getMapboxMap().addMarker(new MarkerOptions().icon(icon).position(new LatLng()));
|
||||
getMapboxMap().addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 2);
|
||||
assertTrue(iconMap.containsKey(icon));
|
||||
assertTrue(iconMap.get(icon) == 1);
|
||||
public void testAddDifferentIconMarker() {
|
||||
validateTestSetup();
|
||||
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
|
||||
Icon icon = IconFactory.getInstance(rule.getActivity()).fromResource(R.drawable.mapbox_logo_icon);
|
||||
getMapboxMap().addMarker(new MarkerOptions().icon(icon).position(new LatLng()));
|
||||
getMapboxMap().addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 2);
|
||||
assertTrue(iconMap.containsKey(icon));
|
||||
assertTrue(iconMap.get(icon) == 1);
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddRemoveIconMarker() throws Exception {
|
||||
MapboxMap mapboxMap = getMapboxMap();
|
||||
public void testAddRemoveIconMarker() {
|
||||
validateTestSetup();
|
||||
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
|
||||
Icon icon = IconFactory.getInstance(rule.getActivity()).fromResource(R.drawable.mapbox_logo_icon);
|
||||
Marker marker = mapboxMap.addMarker(new MarkerOptions().icon(icon).position(new LatLng()));
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 2);
|
||||
assertTrue(iconMap.containsKey(icon));
|
||||
assertTrue(iconMap.get(icon) == 1);
|
||||
|
||||
Icon icon = IconFactory.getInstance(rule.getActivity()).fromResource(R.drawable.mapbox_logo_icon);
|
||||
Marker marker = mapboxMap.addMarker(new MarkerOptions().icon(icon).position(new LatLng()));
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 2);
|
||||
assertTrue(iconMap.containsKey(icon));
|
||||
assertTrue(iconMap.get(icon) == 1);
|
||||
|
||||
mapboxMap.removeMarker(marker);
|
||||
assertEquals(iconMap.size(), 1);
|
||||
assertFalse(iconMap.containsKey(icon));
|
||||
mapboxMap.removeMarker(marker);
|
||||
assertEquals(iconMap.size(), 1);
|
||||
assertFalse(iconMap.containsKey(icon));
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddRemoveDefaultMarker() throws Exception {
|
||||
MapboxMap mapboxMap = getMapboxMap();
|
||||
public void testAddRemoveDefaultMarker() {
|
||||
validateTestSetup();
|
||||
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
|
||||
Marker marker = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 1);
|
||||
|
||||
Marker marker = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
assertEquals(iconMap.size(), 1);
|
||||
mapboxMap.removeMarker(marker);
|
||||
assertEquals(iconMap.size(), 0);
|
||||
|
||||
mapboxMap.removeMarker(marker);
|
||||
assertEquals(iconMap.size(), 0);
|
||||
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng()));
|
||||
assertEquals(iconMap.size(), 1);
|
||||
mapboxMap.addMarker(new MarkerOptions().position(new LatLng()));
|
||||
assertEquals(iconMap.size(), 1);
|
||||
}));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAddRemoveMany() throws Exception {
|
||||
Activity activity = rule.getActivity();
|
||||
MapboxMap mapboxMap = getMapboxMap();
|
||||
IconFactory iconFactory = IconFactory.getInstance(activity);
|
||||
public void testAddRemoveMany() {
|
||||
validateTestSetup();
|
||||
onMapView().perform(getMapboxMapAction((uiController, mapboxMap) -> {
|
||||
Activity activity = rule.getActivity();
|
||||
IconFactory iconFactory = IconFactory.getInstance(activity);
|
||||
|
||||
// add 2 default icon markers
|
||||
Marker defaultMarkerOne = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
Marker defaultMarkerTwo = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(2, 1)));
|
||||
// add 2 default icon markers
|
||||
Marker defaultMarkerOne = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(1, 1)));
|
||||
Marker defaultMarkerTwo = mapboxMap.addMarker(new MarkerOptions().position(new LatLng(2, 1)));
|
||||
|
||||
// add 4 unique icon markers
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.mapbox_logo_icon))
|
||||
.position(new LatLng(3, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.mapbox_compass_icon))
|
||||
.position(new LatLng(4, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(IconUtils.drawableToIcon(activity, R.drawable.ic_stars,
|
||||
ResourcesCompat.getColor(activity.getResources(),
|
||||
R.color.blueAccent, activity.getTheme())))
|
||||
.position(new LatLng(5, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.ic_android))
|
||||
.position(new LatLng(6, 1))
|
||||
);
|
||||
// add 4 unique icon markers
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.mapbox_logo_icon))
|
||||
.position(new LatLng(3, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.mapbox_compass_icon))
|
||||
.position(new LatLng(4, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(IconUtils.drawableToIcon(activity, R.drawable.ic_stars,
|
||||
ResourcesCompat.getColor(activity.getResources(),
|
||||
R.color.blueAccent, activity.getTheme())))
|
||||
.position(new LatLng(5, 1))
|
||||
);
|
||||
mapboxMap.addMarker(new MarkerOptions()
|
||||
.icon(iconFactory.fromResource(R.drawable.ic_android))
|
||||
.position(new LatLng(6, 1))
|
||||
);
|
||||
|
||||
assertEquals("Amount of icons should match 5", 5, iconMap.size());
|
||||
assertEquals("Refcounter of default marker should match 2", 2, iconMap.get(iconFactory.defaultMarker()), 0);
|
||||
assertEquals("Amount of icons should match 5", 5, iconMap.size());
|
||||
assertEquals("Refcounter of default marker should match 2", 2, iconMap.get(iconFactory.defaultMarker()), 0);
|
||||
|
||||
mapboxMap.removeMarker(defaultMarkerOne);
|
||||
mapboxMap.removeMarker(defaultMarkerOne);
|
||||
|
||||
assertEquals("Amount of icons should match 5", 5, iconMap.size());
|
||||
assertEquals("Refcounter of default marker should match 1", 1, iconMap.get(iconFactory.defaultMarker()), 0);
|
||||
assertEquals("Amount of icons should match 5", 5, iconMap.size());
|
||||
assertEquals("Refcounter of default marker should match 1", 1, iconMap.get(iconFactory.defaultMarker()), 0);
|
||||
|
||||
mapboxMap.removeMarker(defaultMarkerTwo);
|
||||
mapboxMap.removeMarker(defaultMarkerTwo);
|
||||
|
||||
assertEquals("Amount of icons should match 4", 4, iconMap.size());
|
||||
assertNull("DefaultMarker shouldn't exist anymore", iconMap.get(iconFactory.defaultMarker()));
|
||||
assertEquals("Amount of icons should match 4", 4, iconMap.size());
|
||||
assertNull("DefaultMarker shouldn't exist anymore", iconMap.get(iconFactory.defaultMarker()));
|
||||
|
||||
mapboxMap.clear();
|
||||
assertEquals("Amount of icons should match 0", 0, iconMap.size());
|
||||
mapboxMap.clear();
|
||||
assertEquals("Amount of icons should match 0", 0, iconMap.size());
|
||||
}));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user