diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2018-01-19 13:32:01 +0100 |
---|---|---|
committer | Tobrun <tobrun.van.nuland@gmail.com> | 2018-01-30 10:11:48 +0100 |
commit | aa47c4cd064c738ef8801f086a366d51c643a021 (patch) | |
tree | 4650c8e7af3a7f3d6b5e854902ebd54a20c2c9c1 | |
parent | 77f93996d53b88765f1430c8a28fb834e99f388a (diff) | |
download | qtlocation-mapboxgl-aa47c4cd064c738ef8801f086a366d51c643a021.tar.gz |
[android] - expose Style.java as public api
57 files changed, 763 insertions, 719 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java deleted file mode 100644 index 9943a72e06..0000000000 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/Style.java +++ /dev/null @@ -1,87 +0,0 @@ -package com.mapbox.mapboxsdk.constants; - -import android.support.annotation.StringDef; - -import com.mapbox.mapboxsdk.maps.MapView; - -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; - -/** - * <p> - * Style provides URLs to several professional styles designed by Mapbox. - * </p> - * These styles are all ready to go in your app. To load one, pass it into {@link MapView#setStyleUrl(String)} - * - * @see MapView#setStyleUrl(String) - */ -public class Style { - - /** - * Indicates the parameter accepts one of the values from Style. Using one of these - * constants means your map style will always use the latest version and may change as we - * improve the style - */ - @StringDef( {MAPBOX_STREETS, OUTDOORS, LIGHT, DARK, SATELLITE, SATELLITE_STREETS, TRAFFIC_DAY, TRAFFIC_NIGHT}) - @Retention(RetentionPolicy.SOURCE) - public @interface StyleUrl { - } - - // IMPORTANT: If you change any of these you also need to edit them in strings.xml - - /** - * Mapbox Streets: A complete basemap, perfect for incorporating your own data. Using this - * constant means your map style will always use the latest version and may change as we - * improve the style. - */ - public static final String MAPBOX_STREETS = "mapbox://styles/mapbox/streets-v10"; - - /** - * Outdoors: A general-purpose style tailored to outdoor activities. Using this constant means - * your map style will always use the latest version and may change as we improve the style. - */ - public static final String OUTDOORS = "mapbox://styles/mapbox/outdoors-v10"; - - /** - * Light: Subtle light backdrop for data visualizations. Using this constant means your map - * style will always use the latest version and may change as we improve the style. - */ - public static final String LIGHT = "mapbox://styles/mapbox/light-v9"; - - /** - * Dark: Subtle dark backdrop for data visualizations. Using this constant means your map style - * will always use the latest version and may change as we improve the style. - */ - public static final String DARK = "mapbox://styles/mapbox/dark-v9"; - - /** - * Satellite: A beautiful global satellite and aerial imagery layer. Using this constant means - * your map style will always use the latest version and may change as we improve the style. - */ - public static final String SATELLITE = "mapbox://styles/mapbox/satellite-v9"; - - /** - * Satellite Streets: Global satellite and aerial imagery with unobtrusive labels. Using this - * constant means your map style will always use the latest version and may change as we - * improve the style. - */ - public static final String SATELLITE_STREETS = "mapbox://styles/mapbox/satellite-streets-v10"; - - /** - * Traffic Day: Color-coded roads based on live traffic congestion data. Traffic data is currently - * available in - * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select - * countries</a>. Using this constant means your map style will always use the latest version and - * may change as we improve the style. - */ - public static final String TRAFFIC_DAY = "mapbox://styles/mapbox/traffic-day-v2"; - - /** - * Traffic Night: Color-coded roads based on live traffic congestion data, designed to maximize - * legibility in low-light situations. Traffic data is currently available in - * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select - * countries</a>. Using this constant means your map style will always use the latest version and - * may change as we improve the style. - */ - public static final String TRAFFIC_NIGHT = "mapbox://styles/mapbox/traffic-night-v2"; -} diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java index b12757c81e..7d4b76cb1e 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/AttributionDialogManager.java @@ -146,7 +146,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt private Set<Attribution> build() { List<String> attributions = new ArrayList<>(); - for (Source source : mapboxMap.getSources()) { + for (Source source : mapboxMap.getStyle().getSources()) { attributions.add(source.getAttribution()); } diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index 2e7d4c4270..242dca7184 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -27,7 +27,6 @@ import com.mapbox.mapboxsdk.R; import com.mapbox.mapboxsdk.annotations.Annotation; import com.mapbox.mapboxsdk.annotations.MarkerViewManager; import com.mapbox.mapboxsdk.constants.MapboxConstants; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.renderer.MapRenderer; import com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer; import com.mapbox.mapboxsdk.maps.renderer.textureview.TextureViewMapRenderer; @@ -525,7 +524,7 @@ public class MapView extends FrameLayout { mapboxMapOptions.styleUrl(url); return; } - nativeMapView.setStyleUrl(url); + mapboxMap.setStyle(Style.fromUrl(url)); } // diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java index 509e784e58..8e82fcfc30 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java @@ -7,7 +7,6 @@ import android.graphics.RectF; import android.location.Location; import android.os.Bundle; import android.support.annotation.FloatRange; -import android.support.annotation.IntRange; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.annotation.UiThread; @@ -33,20 +32,15 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.constants.MapboxConstants; import com.mapbox.mapboxsdk.constants.MyBearingTracking; import com.mapbox.mapboxsdk.constants.MyLocationTracking; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; import com.mapbox.mapboxsdk.maps.widgets.MyLocationViewSettings; import com.mapbox.mapboxsdk.style.layers.Filter; -import com.mapbox.mapboxsdk.style.layers.Layer; -import com.mapbox.mapboxsdk.style.light.Light; -import com.mapbox.mapboxsdk.style.sources.Source; import com.mapbox.services.android.telemetry.location.LocationEngine; import com.mapbox.services.commons.geojson.Feature; import com.mapbox.services.commons.geojson.Geometry; import java.lang.reflect.ParameterizedType; -import java.util.HashMap; import java.util.List; import timber.log.Timber; @@ -75,6 +69,7 @@ public final class MapboxMap { private final OnRegisterTouchListener onRegisterTouchListener; + private Style style; private MapboxMap.OnFpsChangedListener onFpsChangedListener; private PointF focalPoint; @@ -101,7 +96,7 @@ public final class MapboxMap { // Map configuration setDebugActive(options.getDebugActive()); setApiBaseUrl(options); - setStyleUrl(options); + setStyle(options); setPrefetchesTiles(options); } @@ -201,50 +196,6 @@ public final class MapboxMap { } } - // Style - - /** - * <p> - * Get the animation duration for style changes. - * </p> - * The default value is zero, so any changes take effect without animation. - * - * @return Duration in milliseconds - */ - public long getTransitionDuration() { - return nativeMapView.getTransitionDuration(); - } - - /** - * Set the animation duration for style changes. - * - * @param durationMs Duration in milliseconds - */ - public void setTransitionDuration(long durationMs) { - nativeMapView.setTransitionDuration(durationMs); - } - - /** - * <p> - * Get the animation delay for style changes. - * </p> - * The default value is zero, so any changes begin to animate immediately. - * - * @return Delay in milliseconds - */ - public long getTransitionDelay() { - return nativeMapView.getTransitionDelay(); - } - - /** - * Set the animation delay for style changes. - * - * @param delayMs Delay in milliseconds - */ - public void setTransitionDelay(long delayMs) { - nativeMapView.setTransitionDelay(delayMs); - } - /** * Sets tile pre-fetching from MapboxOptions. * @@ -274,216 +225,6 @@ public final class MapboxMap { return nativeMapView.getPrefetchesTiles(); } - /** - * Retrieve all the layers in the style - * - * @return all the layers in the current style - */ - public List<Layer> getLayers() { - return nativeMapView.getLayers(); - } - - /** - * Get the layer by id - * - * @param layerId the layer's id - * @return the layer, if present in the style - */ - @Nullable - public Layer getLayer(@NonNull String layerId) { - return nativeMapView.getLayer(layerId); - } - - /** - * Tries to cast the Layer to T, returns null if it's another type. - * - * @param layerId the layer id used to look up a layer - * @param <T> the generic attribute of a Layer - * @return the casted Layer, null if another type - */ - @Nullable - public <T extends Layer> T getLayerAs(@NonNull String layerId) { - try { - // noinspection unchecked - return (T) nativeMapView.getLayer(layerId); - } catch (ClassCastException exception) { - Timber.e(exception, "Layer: %s is a different type: ", layerId); - return null; - } - } - - /** - * Adds the layer to the map. The layer must be newly created and not added to the map before - * - * @param layer the layer to add - */ - public void addLayer(@NonNull Layer layer) { - nativeMapView.addLayer(layer); - } - - /** - * Adds the layer to the map. The layer must be newly created and not added to the map before - * - * @param layer the layer to add - * @param below the layer id to add this layer before - */ - public void addLayerBelow(@NonNull Layer layer, @NonNull String below) { - nativeMapView.addLayerBelow(layer, below); - } - - /** - * Adds the layer to the map. The layer must be newly created and not added to the map before - * - * @param layer the layer to add - * @param above the layer id to add this layer above - */ - public void addLayerAbove(@NonNull Layer layer, @NonNull String above) { - nativeMapView.addLayerAbove(layer, above); - } - - /** - * Adds the layer to the map at the specified index. The layer must be newly - * created and not added to the map before - * - * @param layer the layer to add - * @param index the index to insert the layer at - */ - public void addLayerAt(@NonNull Layer layer, @IntRange(from = 0) int index) { - nativeMapView.addLayerAt(layer, index); - } - - /** - * Removes the layer. Any references to the layer become invalid and should not be used anymore - * - * @param layerId the layer to remove - * @return the removed layer or null if not found - */ - @Nullable - public Layer removeLayer(@NonNull String layerId) { - return nativeMapView.removeLayer(layerId); - } - - /** - * Removes the layer. The reference is re-usable after this and can be re-added - * - * @param layer the layer to remove - * @return the layer - */ - @Nullable - public Layer removeLayer(@NonNull Layer layer) { - return nativeMapView.removeLayer(layer); - } - - /** - * Removes the layer. Any other references to the layer become invalid and should not be used anymore - * - * @param index the layer index - * @return the removed layer or null if not found - */ - @Nullable - public Layer removeLayerAt(@IntRange(from = 0) int index) { - return nativeMapView.removeLayerAt(index); - } - - /** - * Retrieve all the sources in the style - * - * @return all the sources in the current style - */ - public List<Source> getSources() { - return nativeMapView.getSources(); - } - - /** - * Retrieve a source by id - * - * @param sourceId the source's id - * @return the source if present in the current style - */ - @Nullable - public Source getSource(@NonNull String sourceId) { - return nativeMapView.getSource(sourceId); - } - - /** - * Tries to cast the Source to T, returns null if it's another type. - * - * @param sourceId the id used to look up a layer - * @param <T> the generic type of a Source - * @return the casted Source, null if another type - */ - @Nullable - public <T extends Source> T getSourceAs(@NonNull String sourceId) { - try { - // noinspection unchecked - return (T) nativeMapView.getSource(sourceId); - } catch (ClassCastException exception) { - Timber.e(exception, "Source: %s is a different type: ", sourceId); - return null; - } - } - - /** - * Adds the source to the map. The source must be newly created and not added to the map before - * - * @param source the source to add - */ - public void addSource(@NonNull Source source) { - nativeMapView.addSource(source); - } - - /** - * Removes the source. Any references to the source become invalid and should not be used anymore - * - * @param sourceId the source to remove - * @return the source handle or null if the source was not present - */ - @Nullable - public Source removeSource(@NonNull String sourceId) { - return nativeMapView.removeSource(sourceId); - } - - /** - * Removes the source, preserving the reverence for re-use - * - * @param source the source to remove - * @return the source - */ - @Nullable - public Source removeSource(@NonNull Source source) { - return nativeMapView.removeSource(source); - } - - /** - * Adds an image to be used in the map's style - * - * @param name the name of the image - * @param image the pre-multiplied Bitmap - */ - public void addImage(@NonNull String name, @NonNull Bitmap image) { - nativeMapView.addImage(name, image); - } - - /** - * Adds an images to be used in the map's style - */ - public void addImages(@NonNull HashMap<String, Bitmap> images) { - nativeMapView.addImages(images); - } - - /** - * Removes an image from the map's style - * - * @param name the name of the image to remove - */ - public void removeImage(String name) { - nativeMapView.removeImage(name); - } - - public Bitmap getImage(@NonNull String name) { - return nativeMapView.getImage(name); - } - // // MinZoom // @@ -601,20 +342,6 @@ public final class MapboxMap { } // - // - // - - /** - * Get the global light source used to change lighting conditions on extruded fill layers. - * - * @return the global light source - */ - @Nullable - public Light getLight() { - return nativeMapView.getLight(); - } - - // // Camera API // @@ -1013,158 +740,51 @@ public final class MapboxMap { // Styling // - /** - * <p> - * Loads a new map style asynchronous from the specified URL. - * </p> - * {@code url} can take the following forms: - * <ul> - * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li> - * <li>{@code mapbox://styles/<user>/<style>}: - * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a> - * {@code user} is your username. {@code style} is the ID of your custom - * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li> - * <li>{@code http://...} or {@code https://...}: - * loads the style over the Internet from any web server.</li> - * <li>{@code asset://...}: - * loads the style from the APK {@code assets/} directory. - * This is used to load a style bundled with your app.</li> - * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li> - * </ul> - * <p> - * This method is asynchronous and will return before the style finishes loading. - * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event - * or use the {@link #setStyleUrl(String, OnStyleLoadedListener)} method instead. - * </p> - * If the style fails to load or an invalid style URL is set, the map view will become blank. - * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be - * emitted. - * - * @param url The URL of the map style - * @see Style - */ - public void setStyleUrl(@NonNull String url) { - setStyleUrl(url, null); + public void setStyle(Style style) { + style.bind(nativeMapView); + this.style = style.load(); } - /** - * <p> - * Loads a new map style asynchronous from the specified URL. - * </p> - * {@code url} can take the following forms: - * <ul> - * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li> - * <li>{@code mapbox://styles/<user>/<style>}: - * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a> - * {@code user} is your username. {@code style} is the ID of your custom - * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li> - * <li>{@code http://...} or {@code https://...}: - * loads the style over the Internet from any web server.</li> - * <li>{@code asset://...}: - * loads the style from the APK {@code assets/} directory. - * This is used to load a style bundled with your app.</li> - * <li>{@code null}: loads the default {@link Style#MAPBOX_STREETS} style.</li> - * </ul> - * <p> - * If the style fails to load or an invalid style URL is set, the map view will become blank. - * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be - * emitted. - * <p> - * - * @param url The URL of the map style - * @param callback The callback that is invoked when the style has loaded. - * @see Style - */ - public void setStyleUrl(@NonNull final String url, @Nullable final OnStyleLoadedListener callback) { + private void setStyle(@NonNull MapboxMapOptions options) { + String style = options.getStyle(); + if (!TextUtils.isEmpty(style)) { + setStyle(Style.fromUrl(style)); + } + } + + public Style getStyle() { + if (style == null) { + style = new Style(); + style.bind(nativeMapView); + } + return style; + } + + public void setStyle(@NonNull final Style style, @Nullable final OnStyleLoadedListener callback) { if (callback != null) { nativeMapView.addOnMapChangedListener(new MapView.OnMapChangedListener() { @Override public void onMapChanged(@MapView.MapChange int change) { if (change == MapView.DID_FINISH_LOADING_STYLE) { - callback.onStyleLoaded(url); + callback.onStyleLoaded(style); nativeMapView.removeOnMapChangedListener(this); } } }); } - nativeMapView.setStyleUrl(url); - } - - /** - * <p> - * Loads a new map style from the specified bundled style. - * </p> - * <p> - * This method is asynchronous and will return before the style finishes loading. - * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event - * or use the {@link #setStyle(String, OnStyleLoadedListener)} method instead. - * </p> - * If the style fails to load or an invalid style URL is set, the map view will become blank. - * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be - * sent. - * - * @param style The bundled style. - * @see Style - */ - public void setStyle(@Style.StyleUrl String style) { - setStyleUrl(style); - } - - /** - * <p> - * Loads a new map style from the specified bundled style. - * </p> - * If the style fails to load or an invalid style URL is set, the map view will become blank. - * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be - * sent. - * - * @param style The bundled style. - * @param callback The callback to be invoked when the style has finished loading - * @see Style - */ - public void setStyle(@Style.StyleUrl String style, @Nullable OnStyleLoadedListener callback) { - setStyleUrl(style, callback); + setStyle(style); } - /** - * Loads a new map style from MapboxMapOptions if available. - * - * @param options the object containing the style url - */ - private void setStyleUrl(@NonNull MapboxMapOptions options) { - String style = options.getStyle(); - if (!TextUtils.isEmpty(style)) { - setStyleUrl(style, null); - } - } - - /** - * Returns the map style url currently displayed in the map view. - * - * @return The URL of the map style - */ @Nullable public String getStyleUrl() { return nativeMapView.getStyleUrl(); } - /** - * Loads a new map style from a json string. - * <p> - * If the style fails to load or an invalid style URL is set, the map view will become blank. - * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be - * sent. - * </p> - */ public void setStyleJson(@NonNull String styleJson) { nativeMapView.setStyleJson(styleJson); } - /** - * Returns the map style json currently displayed in the map view. - * - * @return The json of the map style - */ + public String getStyleJson() { return nativeMapView.getStyleJson(); } @@ -1882,7 +1502,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the map is scrolled. * To unset the callback, use null. - * * @deprecated Use {@link #addOnScrollListener(OnScrollListener)} instead. */ @Deprecated @@ -1895,7 +1514,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the map is scrolled. * To unset the callback, use null. - * */ public void addOnScrollListener(@Nullable OnScrollListener listener) { onRegisterTouchListener.onAddScrollListener(listener); @@ -1906,7 +1524,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the map is scrolled. * To unset the callback, use null. - * */ public void removeOnScrollListener(@Nullable OnScrollListener listener) { onRegisterTouchListener.onRemoveScrollListener(listener); @@ -1917,7 +1534,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the map is flinged. * To unset the callback, use null. - * * @deprecated Use {@link #addOnFlingListener(OnFlingListener)} instead. */ @Deprecated @@ -1950,7 +1566,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the user clicks on the map view. * To unset the callback, use null. - * * @deprecated Use {@link #addOnMapClickListener(OnMapClickListener)} instead. */ @Deprecated @@ -1983,7 +1598,6 @@ public final class MapboxMap { * * @param listener The callback that's invoked when the user long clicks on the map view. * To unset the callback, use null. - * * @deprecated Use {@link #addOnMapLongClickListener(OnMapLongClickListener)} instead. */ @Deprecated @@ -2753,7 +2367,7 @@ public final class MapboxMap { * * @param style the style that has been loaded */ - void onStyleLoaded(String style); + void onStyleLoaded(Style style); } // diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java index f1635c898f..24e963f6b0 100755 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java @@ -145,7 +145,7 @@ final class NativeMapView { } public void setStyleUrl(String url) { - if (isDestroyedOn("setStyleUrl")) { + if (isDestroyedOn("setStyle")) { return; } nativeSetStyleUrl(url); diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java new file mode 100644 index 0000000000..0ca7cf1c7b --- /dev/null +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Style.java @@ -0,0 +1,472 @@ +package com.mapbox.mapboxsdk.maps; + +import android.graphics.Bitmap; +import android.support.annotation.IntRange; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.annotation.StringDef; + +import com.mapbox.mapboxsdk.camera.CameraPosition; +import com.mapbox.mapboxsdk.style.layers.Layer; +import com.mapbox.mapboxsdk.style.light.Light; +import com.mapbox.mapboxsdk.style.sources.Source; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.util.HashMap; +import java.util.List; + +import timber.log.Timber; + +public class Style { + + // todo remove NativeMapView facade + private NativeMapView nativeMapView; + + private String url; + private String json; + + // todo make private + Style() { + + } + + // todo remove + public void bind(NativeMapView nativeMapView) { + this.nativeMapView = nativeMapView; + } + + /** + * <p> + * Loads a new map style asynchronous from the specified URL. + * </p> + * {@code url} can take the following forms: + * <ul> + * <li>{@code Style.*}: load one of the bundled styles in {@link Style}.</li> + * <li>{@code mapbox://styles/<user>/<style>}: + * loads the style from a <a href="https://www.mapbox.com/account/">Mapbox account.</a> + * {@code user} is your username. {@code style} is the ID of your custom + * style created in <a href="https://www.mapbox.com/studio">Mapbox Studio</a>.</li> + * <li>{@code http://...} or {@code https://...}: + * loads the style over the Internet from any web server.</li> + * <li>{@code asset://...}: + * loads the style from the APK {@code assets/} directory. + * This is used to load a style bundled with your app.</li> + * <li>{@code null}: loads the default + * {@link com.mapbox.mapboxsdk.constants.StyleConstants#MAPBOX_STREETS} style.</li> + * </ul> + * <p> + * This method is asynchronous and will return before the style finishes loading. + * If you wish to wait for the map to finish loading, listen for the {@link MapView#DID_FINISH_LOADING_MAP} event + * or use the {@link MapboxMap#setStyle(Style, MapboxMap.OnStyleLoadedListener)} method instead. + * </p> + * If the style fails to load or an invalid style URL is set, the map view will become blank. + * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be + * emitted. + * + * @param url The URL of the map style + * @see Style + */ + public static Style fromUrl(String url) { + Style style = new Style(); + style.setUrl(url); + return style; + } + + /** + * Loads a new map style from a json string. + * <p> + * If the style fails to load or an invalid style URL is set, the map view will become blank. + * An error message will be logged in the Android logcat and {@link MapView#DID_FAIL_LOADING_MAP} event will be + * sent. + * </p> + */ + public static Style fromJson(String json) { + Style style = new Style(); + style.setJson(json); + return style; + } + + private void setJson(String json) { + this.json = json; + } + + private void setUrl(String url) { + this.url = url; + } + + Style load() { + if (url != null) { + nativeMapView.setStyleUrl(url); + } else if (json != null) { + nativeMapView.setStyleJson(json); + } else { + throw new IllegalStateException(); + } + return this; + } + + //todo implement + public String getName() { + return ""; + } + + // Todo implement + public CameraPosition getDefaultCameraPosition() { + return null; + } + + /** + * <p> + * Get the animation duration for style changes. + * </p> + * The default value is zero, so any changes take effect without animation. + * + * @return Duration in milliseconds + */ + public long getTransitionDuration() { + return nativeMapView.getTransitionDuration(); + } + + /** + * Set the animation duration for style changes. + * + * @param durationMs Duration in milliseconds + */ + public void setTransitionDuration(long durationMs) { + nativeMapView.setTransitionDuration(durationMs); + } + + /** + * <p> + * Get the animation delay for style changes. + * </p> + * The default value is zero, so any changes begin to animate immediately. + * + * @return Delay in milliseconds + */ + public long getTransitionDelay() { + return nativeMapView.getTransitionDelay(); + } + + /** + * Set the animation delay for style changes. + * + * @param delayMs Delay in milliseconds + */ + public void setTransitionDelay(long delayMs) { + nativeMapView.setTransitionDelay(delayMs); + } + + /** + * Get the global light source used to change lighting conditions on extruded fill layers. + * + * @return the global light source + */ + @Nullable + public Light getLight() { + return nativeMapView.getLight(); + } + + /** + * Retrieve all the layers in the style + * + * @return all the layers in the current style + */ + public List<Layer> getLayers() { + return nativeMapView.getLayers(); + } + + /** + * Get the layer by id + * + * @param layerId the layer's id + * @return the layer, if present in the style + */ + @Nullable + public Layer getLayer(@NonNull String layerId) { + return nativeMapView.getLayer(layerId); + } + + /** + * Tries to cast the Layer to T, returns null if it's another type. + * + * @param layerId the layer id used to look up a layer + * @param <T> the generic attribute of a Layer + * @return the casted Layer, null if another type + */ + @Nullable + public <T extends Layer> T getLayerAs(@NonNull String layerId) { + try { + // noinspection unchecked + return (T) nativeMapView.getLayer(layerId); + } catch (ClassCastException exception) { + Timber.e(exception, "Layer: %s is a different type: ", layerId); + return null; + } + } + + /** + * Adds the layer to the map. The layer must be newly created and not added to the map before + * + * @param layer the layer to add + */ + public void addLayer(@NonNull Layer layer) { + nativeMapView.addLayer(layer); + } + + /** + * Adds the layer to the map. The layer must be newly created and not added to the map before + * + * @param layer the layer to add + * @param below the layer id to add this layer before + */ + public void addLayerBelow(@NonNull Layer layer, @NonNull String below) { + nativeMapView.addLayerBelow(layer, below); + } + + /** + * Adds the layer to the map. The layer must be newly created and not added to the map before + * + * @param layer the layer to add + * @param above the layer id to add this layer above + */ + public void addLayerAbove(@NonNull Layer layer, @NonNull String above) { + nativeMapView.addLayerAbove(layer, above); + } + + /** + * Adds the layer to the map at the specified index. The layer must be newly + * created and not added to the map before + * + * @param layer the layer to add + * @param index the index to insert the layer at + */ + public void addLayerAt(@NonNull Layer layer, @IntRange(from = 0) int index) { + nativeMapView.addLayerAt(layer, index); + } + + /** + * Removes the layer. Any references to the layer become invalid and should not be used anymore + * + * @param layerId the layer to remove + * @return the removed layer or null if not found + */ + @Nullable + public Layer removeLayer(@NonNull String layerId) { + return nativeMapView.removeLayer(layerId); + } + + /** + * Removes the layer. The reference is re-usable after this and can be re-added + * + * @param layer the layer to remove + * @return the layer + */ + @Nullable + public Layer removeLayer(@NonNull Layer layer) { + return nativeMapView.removeLayer(layer); + } + + /** + * Removes the layer. Any other references to the layer become invalid and should not be used anymore + * + * @param index the layer index + * @return the removed layer or null if not found + */ + @Nullable + public Layer removeLayerAt(@IntRange(from = 0) int index) { + return nativeMapView.removeLayerAt(index); + } + + /** + * Retrieve all the sources in the style + * + * @return all the sources in the current style + */ + public List<Source> getSources() { + return nativeMapView.getSources(); + } + + /** + * Retrieve a source by id + * + * @param sourceId the source's id + * @return the source if present in the current style + */ + @Nullable + public Source getSource(@NonNull String sourceId) { + return nativeMapView.getSource(sourceId); + } + + /** + * Tries to cast the Source to T, returns null if it's another type. + * + * @param sourceId the id used to look up a layer + * @param <T> the generic type of a Source + * @return the casted Source, null if another type + */ + @Nullable + public <T extends Source> T getSourceAs(@NonNull String sourceId) { + try { + // noinspection unchecked + return (T) nativeMapView.getSource(sourceId); + } catch (ClassCastException exception) { + Timber.e(exception, "Source: %s is a different type: ", sourceId); + return null; + } + } + + /** + * Adds the source to the map. The source must be newly created and not added to the map before + * + * @param source the source to add + */ + public void addSource(@NonNull Source source) { + nativeMapView.addSource(source); + } + + /** + * Removes the source. Any references to the source become invalid and should not be used anymore + * + * @param sourceId the source to remove + * @return the source handle or null if the source was not present + */ + @Nullable + public Source removeSource(@NonNull String sourceId) { + return nativeMapView.removeSource(sourceId); + } + + /** + * Removes the source, preserving the reverence for re-use + * + * @param source the source to remove + * @return the source + */ + @Nullable + public Source removeSource(@NonNull Source source) { + return nativeMapView.removeSource(source); + } + + /** + * Adds an image to be used in the map's style + * + * @param name the name of the image + * @param image the pre-multiplied Bitmap + */ + public void addImage(@NonNull String name, @NonNull Bitmap image) { + nativeMapView.addImage(name, image); + } + + /** + * Adds an images to be used in the map's style + */ + public void addImages(@NonNull HashMap<String, Bitmap> images) { + nativeMapView.addImages(images); + } + + /** + * Removes an image from the map's style + * + * @param name the name of the image to remove + */ + public void removeImage(String name) { + nativeMapView.removeImage(name); + } + + //TODO add javadoc + public Bitmap getImage(@NonNull String name) { + return nativeMapView.getImage(name); + } + + + /** + * Returns the map style url currently displayed in the map view. + * + * @return The URL of the map style + */ + public String getUrl() { + return url; + } + + /** + * Returns the map style json currently displayed in the map view. + * + * @return The json of the map style + */ + public String getJson() { + return json; + } + + // + // Constants + // + + /** + * Indicates the parameter accepts one of the values from Style. Using one of these + * constants means your map style will always use the latest version and may change as we + * improve the style + */ + @StringDef( {MAPBOX_STREETS, OUTDOORS, LIGHT, DARK, SATELLITE, SATELLITE_STREETS, TRAFFIC_DAY, TRAFFIC_NIGHT}) + @Retention(RetentionPolicy.SOURCE) + public @interface StyleUrl { + } + + // IMPORTANT: If you change any of these you also need to edit them in strings.xml + + /** + * Mapbox Streets: A complete basemap, perfect for incorporating your own data. Using this + * constant means your map style will always use the latest version and may change as we + * improve the style. + */ + public static final String MAPBOX_STREETS = "mapbox://styles/mapbox/streets-v10"; + + /** + * Outdoors: A general-purpose style tailored to outdoor activities. Using this constant means + * your map style will always use the latest version and may change as we improve the style. + */ + public static final String OUTDOORS = "mapbox://styles/mapbox/outdoors-v10"; + + /** + * Light: Subtle light backdrop for data visualizations. Using this constant means your map + * style will always use the latest version and may change as we improve the style. + */ + public static final String LIGHT = "mapbox://styles/mapbox/light-v9"; + + /** + * Dark: Subtle dark backdrop for data visualizations. Using this constant means your map style + * will always use the latest version and may change as we improve the style. + */ + public static final String DARK = "mapbox://styles/mapbox/dark-v9"; + + /** + * Satellite: A beautiful global satellite and aerial imagery layer. Using this constant means + * your map style will always use the latest version and may change as we improve the style. + */ + public static final String SATELLITE = "mapbox://styles/mapbox/satellite-v9"; + + /** + * Satellite Streets: Global satellite and aerial imagery with unobtrusive labels. Using this + * constant means your map style will always use the latest version and may change as we + * improve the style. + */ + public static final String SATELLITE_STREETS = "mapbox://styles/mapbox/satellite-streets-v10"; + + /** + * Traffic Day: Color-coded roads based on live traffic congestion data. Traffic data is currently + * available in + * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select + * countries</a>. Using this constant means your map style will always use the latest version and + * may change as we improve the style. + */ + public static final String TRAFFIC_DAY = "mapbox://styles/mapbox/traffic-day-v2"; + + /** + * Traffic Night: Color-coded roads based on live traffic congestion data, designed to maximize + * legibility in low-light situations. Traffic data is currently available in + * <a href="https://www.mapbox.com/api-documentation/pages/traffic-countries.html">these select + * countries</a>. Using this constant means your map style will always use the latest version and + * may change as we improve the style. + */ + public static final String TRAFFIC_NIGHT = "mapbox://styles/mapbox/traffic-night-v2"; +} diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java index 1c59bb468e..01ed8f7b02 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/snapshotter/MapSnapshotter.java @@ -22,8 +22,8 @@ import com.mapbox.mapboxsdk.attribution.AttributionLayout; import com.mapbox.mapboxsdk.attribution.AttributionMeasure; import com.mapbox.mapboxsdk.attribution.AttributionParser; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLngBounds; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.storage.FileSource; import timber.log.Timber; diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java index 65bdff41ab..84a3d8e492 100644 --- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java +++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapOptionsTest.java @@ -5,7 +5,6 @@ import android.view.Gravity; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.constants.MapboxConstants; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import org.junit.Test; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java index b4bc118129..c7f35feb16 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java @@ -70,9 +70,10 @@ public class MapboxMapTest extends BaseActivityTest { validateTestSetup(); onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> { long transitionDuration = 600; - mapboxMap.setTransitionDuration(transitionDuration); + Style style = mapboxMap.getStyle(); + style.setTransitionDuration(transitionDuration); assertEquals( - "TransitionDuration should match", transitionDuration, mapboxMap.getTransitionDuration(), 0 + "TransitionDuration should match", transitionDuration, style.getTransitionDuration(), 0 ); })); } @@ -82,9 +83,10 @@ public class MapboxMapTest extends BaseActivityTest { validateTestSetup(); onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> { long transitionDelay = 50; - mapboxMap.setTransitionDelay(transitionDelay); + Style style = mapboxMap.getStyle(); + style.setTransitionDelay(transitionDelay); assertEquals( - "TransitionDelay should match", transitionDelay, mapboxMap.getTransitionDelay(), 0 + "TransitionDelay should match", transitionDelay, style.getTransitionDelay(), 0 ); })); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java index 3f32443021..e8ae1900ef 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/activity/BaseActivityTest.java @@ -11,6 +11,7 @@ import android.support.test.espresso.ViewAction; import android.support.test.rule.ActivityTestRule; import android.view.View; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.utils.OnMapReadyIdlingResource; import junit.framework.Assert; @@ -30,6 +31,7 @@ public abstract class BaseActivityTest { @Rule public ActivityTestRule<Activity> rule = new ActivityTestRule<>(getActivityClass()); protected MapboxMap mapboxMap; + protected Style style; protected OnMapReadyIdlingResource idlingResource; @Before @@ -40,6 +42,7 @@ public abstract class BaseActivityTest { Espresso.registerIdlingResources(idlingResource); checkViewIsDisplayed(R.id.mapView); mapboxMap = idlingResource.getMapboxMap(); + style = mapboxMap.getStyle(); } catch (IdlingResourceTimeoutException idlingResourceTimeoutException) { Timber.e("Idling resource timed out. Couldn't not validate if map is ready."); throw new RuntimeException("Could not start test for " + getActivityClass().getSimpleName() + ".\n" diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java index 09fbcb868c..b70c3e89ad 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/maps/widgets/AttributionTest.java @@ -151,7 +151,7 @@ public class AttributionTest extends BaseActivityTest { private void buildUrlSpans() { onView(withId(R.id.mapView)).perform(new MapboxMapAction((uiController, view) -> { - for (Source source : mapboxMap.getSources()) { + for (Source source : mapboxMap.getStyle().getSources()) { String attributionSource = source.getAttribution(); if (!TextUtils.isEmpty(attributionSource)) { SpannableStringBuilder htmlBuilder = (SpannableStringBuilder) Html.fromHtml(attributionSource); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java index 0e4cf6a8ca..0a5958cbdd 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/BackgroundLayerTest.java @@ -54,7 +54,7 @@ public class BackgroundLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - layer = mapboxMap.getLayerAs("background"); + layer = mapboxMap.getStyle().getLayerAs("background"); } }); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java index 559e446307..cbb451d922 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/CircleLayerTest.java @@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4; import timber.log.Timber; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.functions.CompositeFunction; import com.mapbox.mapboxsdk.style.functions.CameraFunction; import com.mapbox.mapboxsdk.style.functions.SourceFunction; @@ -54,13 +55,14 @@ public class CircleLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + Style style = mapboxMap.getStyle(); + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new CircleLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java index 66c6093537..b26342de0a 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillExtrusionLayerTest.java @@ -54,13 +54,13 @@ public class FillExtrusionLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new FillExtrusionLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java index 939bcb6892..2a36d06610 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/FillLayerTest.java @@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4; import timber.log.Timber; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.functions.CompositeFunction; import com.mapbox.mapboxsdk.style.functions.CameraFunction; import com.mapbox.mapboxsdk.style.functions.SourceFunction; @@ -54,13 +55,14 @@ public class FillLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + Style style = mapboxMap.getStyle(); + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new FillLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java index 5d10cfa38a..b8d85ae6c8 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/GeoJsonSourceTests.java @@ -54,8 +54,8 @@ public class GeoJsonSourceTests extends BaseActivityTest { } catch (IOException exception) { Timber.e(exception); } - mapboxMap.addSource(source); - mapboxMap.addLayer(new CircleLayer("layer", source.getId())); + style.addSource(source); + style.addLayer(new CircleLayer("layer", source.getId())); } }); } @@ -68,9 +68,9 @@ public class GeoJsonSourceTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { GeoJsonSource source = new GeoJsonSource("source", Point.fromCoordinates(new double[] {0d, 0d})); - mapboxMap.addSource(source); + style.addSource(source); - mapboxMap.addLayer(new CircleLayer("layer", source.getId())); + style.addLayer(new CircleLayer("layer", source.getId())); } }); @@ -90,9 +90,9 @@ public class GeoJsonSourceTests extends BaseActivityTest { } catch (IOException exception) { Timber.e(exception); } - mapboxMap.addSource(source); + style.addSource(source); - mapboxMap.addLayer(new CircleLayer("layer", source.getId())); + style.addLayer(new CircleLayer("layer", source.getId())); } }); @@ -140,9 +140,9 @@ public class GeoJsonSourceTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { GeoJsonSource source = new GeoJsonSource("source"); - mapboxMap.addSource(source); + style.addSource(source); Layer layer = new CircleLayer("layer", source.getId()); - mapboxMap.addLayer(layer); + style.addLayer(layer); try { source.setGeoJson(Feature.fromJson(ResourceUtils.readRawResource(rule.getActivity(), resource))); @@ -150,8 +150,8 @@ public class GeoJsonSourceTests extends BaseActivityTest { Timber.e(exception); } - mapboxMap.removeLayer(layer); - mapboxMap.removeSource(source); + style.removeLayer(layer); + style.removeSource(source); } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java index c049fabb52..87daaeb990 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/ImageTest.java @@ -37,13 +37,13 @@ public class ImageTest extends BaseActivityTest { assertTrue(drawable instanceof BitmapDrawable); Bitmap bitmapSet = ((BitmapDrawable) drawable).getBitmap(); - mapboxMap.addImage(IMAGE_ID, bitmapSet); + style.addImage(IMAGE_ID, bitmapSet); - Bitmap bitmapGet = mapboxMap.getImage(IMAGE_ID); + Bitmap bitmapGet = style.getImage(IMAGE_ID); assertTrue(bitmapGet.sameAs(bitmapSet)); - mapboxMap.removeImage(IMAGE_ID); - assertNull(mapboxMap.getImage(IMAGE_ID)); + style.removeImage(IMAGE_ID); + assertNull(style.getImage(IMAGE_ID)); }); } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java index 88da6e45be..7013f9c8f0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LightTest.java @@ -173,7 +173,7 @@ public class LightTest extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { - light = mapboxMap.getLight(); + light = style.getLight(); FillExtrusionLayer fillExtrusionLayer = new FillExtrusionLayer("3d-buildings", "composite"); fillExtrusionLayer.setSourceLayer("building"); fillExtrusionLayer.setFilter(eq("extrude", "true")); @@ -184,7 +184,7 @@ public class LightTest extends BaseActivityTest { fillExtrusionBase(Function.property("min_height", new IdentityStops<Float>())), fillExtrusionOpacity(0.6f) ); - mapboxMap.addLayer(fillExtrusionLayer); + style.addLayer(fillExtrusionLayer); } }); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java index 8123d24be8..94879b1bd5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/LineLayerTest.java @@ -9,6 +9,7 @@ import android.support.test.runner.AndroidJUnit4; import timber.log.Timber; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.functions.CompositeFunction; import com.mapbox.mapboxsdk.style.functions.CameraFunction; import com.mapbox.mapboxsdk.style.functions.SourceFunction; @@ -54,13 +55,14 @@ public class LineLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + Style style = mapboxMap.getStyle(); + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new LineLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java index df560e2632..2bd3e7f48b 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RasterLayerTest.java @@ -54,13 +54,13 @@ public class RasterLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new RasterLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java index fc526176d4..aa5adc59bd 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/RuntimeStyleTests.java @@ -65,7 +65,7 @@ public class RuntimeStyleTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { - List<Layer> layers = mapboxMap.getLayers(); + List<Layer> layers = style.getLayers(); assertNotNull(layers); assertTrue(layers.size() > 0); for (Layer layer : layers) { @@ -88,12 +88,12 @@ public class RuntimeStyleTests extends BaseActivityTest { onView(withId(R.id.mapView)).perform(new BaseViewAction() { @Override public void perform(UiController uiController, View view) { - List<Layer> layers = mapboxMap.getLayers(); - Source source = mapboxMap.getSources().get(0); + List<Layer> layers = style.getLayers(); + Source source = style.getSources().get(0); // Test inserting with invalid above-id try { - mapboxMap.addLayerAbove(new CircleLayer("invalid-id-layer-test", source.getId()), "no-such-layer-here-man"); + style.addLayerAbove(new CircleLayer("invalid-id-layer-test", source.getId()), "no-such-layer-here-man"); fail("Should have thrown exception"); } catch (CannotAddLayerException ex) { // Yeah @@ -102,14 +102,14 @@ public class RuntimeStyleTests extends BaseActivityTest { // Insert as last CircleLayer last = new CircleLayer("this is the last one", source.getId()); - mapboxMap.addLayerAbove(last, layers.get(layers.size() - 1).getId()); - layers = mapboxMap.getLayers(); + style.addLayerAbove(last, layers.get(layers.size() - 1).getId()); + layers = style.getLayers(); assertEquals(last.getId(), layers.get(layers.size() - 1).getId()); // Insert CircleLayer second = new CircleLayer("this is the second one", source.getId()); - mapboxMap.addLayerAbove(second, layers.get(0).getId()); - layers = mapboxMap.getLayers(); + style.addLayerAbove(second, layers.get(0).getId()); + layers = style.getLayers(); assertEquals(second.getId(), layers.get(1).getId()); } }); @@ -123,15 +123,15 @@ public class RuntimeStyleTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { // Remove by index - Layer firstLayer = mapboxMap.getLayers().get(0); - Layer removed = mapboxMap.removeLayerAt(0); + Layer firstLayer = style.getLayers().get(0); + Layer removed = style.removeLayerAt(0); assertNotNull(removed); assertNotNull(removed.getId()); assertEquals(firstLayer.getId(), removed.getId()); // Test remove by index bounds checks Timber.i("Remove layer at index > size"); - assertNull(mapboxMap.removeLayerAt(Integer.MAX_VALUE)); + assertNull(style.removeLayerAt(Integer.MAX_VALUE)); } }); } @@ -141,12 +141,12 @@ public class RuntimeStyleTests extends BaseActivityTest { onView(withId(R.id.mapView)).perform(new BaseViewAction() { @Override public void perform(UiController uiController, View view) { - List<Layer> layers = mapboxMap.getLayers(); - Source source = mapboxMap.getSources().get(0); + List<Layer> layers = style.getLayers(); + Source source = style.getSources().get(0); // Test inserting out of range try { - mapboxMap.addLayerAt(new CircleLayer("invalid-id-layer-test", source.getId()), layers.size()); + style.addLayerAt(new CircleLayer("invalid-id-layer-test", source.getId()), layers.size()); fail("Should have thrown exception"); } catch (CannotAddLayerException ex) { // Yeah @@ -155,14 +155,14 @@ public class RuntimeStyleTests extends BaseActivityTest { // Insert at current last position CircleLayer last = new CircleLayer("this is the last one", source.getId()); - mapboxMap.addLayerAt(last, layers.size() - 1); - layers = mapboxMap.getLayers(); + style.addLayerAt(last, layers.size() - 1); + layers = style.getLayers(); assertEquals(last.getId(), layers.get(layers.size() - 2).getId()); // Insert at start CircleLayer second = new CircleLayer("this is the first one", source.getId()); - mapboxMap.addLayerAt(second, 0); - layers = mapboxMap.getLayers(); + style.addLayerAt(second, 0); + layers = style.getLayers(); assertEquals(second.getId(), layers.get(0).getId()); } }); @@ -176,7 +176,7 @@ public class RuntimeStyleTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { - List<Source> sources = mapboxMap.getSources(); + List<Source> sources = style.getSources(); assertNotNull(sources); assertTrue(sources.size() > 0); for (Source source : sources) { @@ -191,34 +191,34 @@ public class RuntimeStyleTests extends BaseActivityTest { public void testAddRemoveSource() { validateTestSetup(); invoke(mapboxMap, (uiController, mapboxMap) -> { - mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); - mapboxMap.removeSource("my-source"); + style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); + style.removeSource("my-source"); // Add initial source - mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); + style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); // Remove - Source mySource = mapboxMap.removeSource("my-source"); + Source mySource = style.removeSource("my-source"); assertNotNull(mySource); - assertNull(mapboxMap.getLayer("my-source")); + assertNull(style.getLayer("my-source")); // Add Source source = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"); - mapboxMap.addSource(source); + style.addSource(source); // Remove, preserving the reference - mapboxMap.removeSource(source); + style.removeSource(source); // Re-add the reference... - mapboxMap.addSource(source); + style.addSource(source); // Ensure it's there - Assert.assertNotNull(mapboxMap.getSource(source.getId())); + Assert.assertNotNull(style.getSource(source.getId())); // Test adding a duplicate source try { Source source2 = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"); - mapboxMap.addSource(source2); + style.addSource(source2); fail("Should not have been allowed to add a source with a duplicate id"); } catch (CannotAddSourceException cannotAddSourceException) { // OK @@ -232,7 +232,7 @@ public class RuntimeStyleTests extends BaseActivityTest { validateTestSetup(); invoke(mapboxMap, (uiController, mapboxMap) -> { VectorSource source = new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"); - mapboxMap.addSource(source); + style.addSource(source); assertEquals("mapbox://mapbox.mapbox-terrain-v2", source.getUrl()); }); } @@ -242,7 +242,7 @@ public class RuntimeStyleTests extends BaseActivityTest { validateTestSetup(); invoke(mapboxMap, (uiController, mapboxMap) -> { RasterSource source = new RasterSource("my-source", "mapbox://mapbox.mapbox-terrain-v2"); - mapboxMap.addSource(source); + style.addSource(source); assertEquals("mapbox://mapbox.mapbox-terrain-v2", source.getUrl()); }); } @@ -252,7 +252,7 @@ public class RuntimeStyleTests extends BaseActivityTest { validateTestSetup(); invoke(mapboxMap, (uiController, mapboxMap) -> { GeoJsonSource source = new GeoJsonSource("my-source"); - mapboxMap.addSource(source); + style.addSource(source); assertNull(source.getUrl()); try { source.setUrl(new URL("http://mapbox.com/my-file.json")); @@ -271,10 +271,10 @@ public class RuntimeStyleTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { - mapboxMap.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); - mapboxMap.addLayer(new LineLayer("my-layer", "my-source")); - mapboxMap.removeSource("my-source"); - assertNotNull(mapboxMap.getSource("my-source")); + style.addSource(new VectorSource("my-source", "mapbox://mapbox.mapbox-terrain-v2")); + style.addLayer(new LineLayer("my-layer", "my-source")); + style.removeSource("my-source"); + assertNotNull(style.getSource("my-source")); } }); @@ -305,37 +305,37 @@ public class RuntimeStyleTests extends BaseActivityTest { @Override public void perform(UiController uiController, View view) { // Get initial - assertNotNull(mapboxMap.getLayer("building")); + assertNotNull(style.getLayer("building")); // Remove - Layer building = mapboxMap.removeLayer("building"); + Layer building = style.removeLayer("building"); assertNotNull(building); - assertNull(mapboxMap.getLayer("building")); + assertNull(style.getLayer("building")); // Add FillLayer layer = new FillLayer("building", "composite"); layer.setSourceLayer("building"); - mapboxMap.addLayer(layer); - assertNotNull(mapboxMap.getLayer("building")); + style.addLayer(layer); + assertNotNull(style.getLayer("building")); // Assure the reference still works layer.setProperties(PropertyFactory.visibility(Property.VISIBLE)); // Remove, preserving the reference - mapboxMap.removeLayer(layer); + style.removeLayer(layer); // Property setters should still work layer.setProperties(PropertyFactory.fillColor(Color.RED)); // Re-add the reference... - mapboxMap.addLayer(layer); + style.addLayer(layer); // Ensure it's there - Assert.assertNotNull(mapboxMap.getLayer(layer.getId())); + Assert.assertNotNull(style.getLayer(layer.getId())); // Test adding a duplicate layer try { - mapboxMap.addLayer(new FillLayer("building", "composite")); + style.addLayer(new FillLayer("building", "composite")); fail("Should not have been allowed to add a layer with a duplicate id"); } catch (CannotAddLayerException cannotAddLayerException) { // OK diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java index 781307862d..39319e599c 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/androidTest/java/com/mapbox/mapboxsdk/testapp/style/SymbolLayerTest.java @@ -54,13 +54,13 @@ public class SymbolLayerTest extends BaseActivityTest { invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() { @Override public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) { - if ((layer = mapboxMap.getLayerAs("my-layer")) == null) { + if ((layer = style.getLayerAs("my-layer")) == null) { Timber.i("Adding layer"); layer = new SymbolLayer("my-layer", "composite"); layer.setSourceLayer("composite"); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Layer reference is now stale, get new reference - layer = mapboxMap.getLayerAs("my-layer"); + layer = style.getLayerAs("my-layer"); } } }); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java index 93f2e9c98f..f8206ce155 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/PolygonActivity.java @@ -10,12 +10,12 @@ import android.widget.Toast; import com.mapbox.mapboxsdk.annotations.Polygon; import com.mapbox.mapboxsdk.annotations.PolygonOptions; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import java.util.ArrayList; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java index 716d0463a5..d622db9084 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/ManualZoomActivity.java @@ -8,9 +8,9 @@ import android.view.MenuItem; import android.view.View; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.UiSettings; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java index 277eadb1b5..1ad1281bf2 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/camera/MaxMinZoomActivity.java @@ -3,10 +3,10 @@ package com.mapbox.mapboxsdk.testapp.activity.camera; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import timber.log.Timber; @@ -35,7 +35,10 @@ public class MaxMinZoomActivity extends AppCompatActivity implements OnMapReadyC mapboxMap = map; mapboxMap.setMinZoomPreference(3); mapboxMap.setMaxZoomPreference(5); - mapboxMap.setOnMapClickListener(point -> map.setStyle(Style.OUTDOORS, style -> Timber.d("Style Loaded %s", style))); + mapboxMap.setOnMapClickListener( + point -> map.setStyle(Style.fromUrl(Style.OUTDOORS), + style -> Timber.d("Style Loaded %s", style.getUrl())) + ); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java index 4cad7593ef..ae213a1732 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/customlayer/CustomLayerActivity.java @@ -11,6 +11,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.CustomLayer; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.model.customlayer.ExampleCustomLayer; @@ -52,8 +53,9 @@ public class CustomLayerActivity extends AppCompatActivity { } private void swapCustomLayer() { + Style style = mapboxMap.getStyle(); if (customLayer != null) { - mapboxMap.removeLayer(customLayer); + style.removeLayer(customLayer); customLayer = null; fab.setImageResource(R.drawable.ic_layers); } else { @@ -63,7 +65,7 @@ public class CustomLayerActivity extends AppCompatActivity { ExampleCustomLayer.RenderFunction, ExampleCustomLayer.ContextLostFunction, // Optional ExampleCustomLayer.DeinitializeFunction); - mapboxMap.addLayerBelow(customLayer, "building"); + style.addLayerBelow(customLayer, "building"); fab.setImageResource(R.drawable.ic_layers_clear); } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java index 8c9d056764..839b34ff70 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxHighlightActivity.java @@ -45,8 +45,8 @@ public class QueryRenderedFeaturesBoxHighlightActivity extends AppCompatActivity // Add layer / source final GeoJsonSource source = new GeoJsonSource("highlighted-shapes-source"); - mapboxMap.addSource(source); - mapboxMap.addLayer( + mapboxMap.getStyle().addSource(source); + mapboxMap.getStyle().addLayer( new FillLayer("highlighted-shapes-layer", "highlighted-shapes-source") .withProperties(fillColor(Color.RED)) ); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java index 9bad5f3e62..67af9f66ed 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QueryRenderedFeaturesBoxSymbolCountActivity.java @@ -9,6 +9,7 @@ import android.widget.Toast; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.SymbolLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; @@ -44,21 +45,22 @@ public class QueryRenderedFeaturesBoxSymbolCountActivity extends AppCompatActivi mapView.onCreate(savedInstanceState); mapView.getMapAsync(mapboxMap -> { QueryRenderedFeaturesBoxSymbolCountActivity.this.mapboxMap = mapboxMap; + Style style = mapboxMap.getStyle(); // Add a symbol layer (also works with annotations) try { - mapboxMap.addSource(new GeoJsonSource("symbols-source", ResourceUtils.readRawResource( + style.addSource(new GeoJsonSource("symbols-source", ResourceUtils.readRawResource( QueryRenderedFeaturesBoxSymbolCountActivity.this, R.raw.test_points_utrecht))); } catch (IOException ioException) { Timber.e(ioException, "Could not load geojson"); return; } - mapboxMap.addImage( + style.addImage( "test-icon", BitmapFactory.decodeResource(getResources(), R.drawable.mapbox_marker_icon_default) ); - mapboxMap.addLayer(new SymbolLayer("symbols-layer", "symbols-source").withProperties(iconImage("test-icon"))); + style.addLayer(new SymbolLayer("symbols-layer", "symbols-source").withProperties(iconImage("test-icon"))); selectionBox.setOnClickListener(view -> { // Query diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java index c8bef26856..5d90f9bc68 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/feature/QuerySourceFeaturesActivity.java @@ -44,9 +44,12 @@ public class QuerySourceFeaturesActivity extends AppCompatActivity { FeatureCollection.fromFeatures(new Feature[] { Feature.fromGeometry(Point.fromCoordinates(new double[] {0, 0}), properties) })); - mapboxMap.addSource(source); + mapboxMap.getStyle().addSource(source); - mapboxMap.addLayer(new CircleLayer("test-layer", source.getId()).withFilter(Filter.neq("key1", "value1"))); + mapboxMap.getStyle().addLayer( + new CircleLayer("test-layer", source.getId()) + .withFilter(Filter.neq("key1", "value1")) + ); // Add a click listener mapboxMap.setOnMapClickListener(point -> { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java index 930626078d..6174f2f2f5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/MapFragmentActivity.java @@ -6,12 +6,12 @@ import android.support.v7.app.AppCompatActivity; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapFragment; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; /** diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java index 4f828060ee..ab31ebfdb3 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/SupportMapFragmentActivity.java @@ -6,11 +6,11 @@ import android.support.v7.app.AppCompatActivity; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.SupportMapFragment; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java index 26cf777ba9..fa167e9442 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/fragment/ViewPagerActivity.java @@ -8,9 +8,9 @@ import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.SupportMapFragment; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java index 62d3ad34df..71378b17e5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/imagegenerator/SnapshotActivity.java @@ -8,10 +8,10 @@ import android.view.View; import android.widget.ImageView; import android.widget.Toast; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import java.util.Locale; @@ -37,7 +37,7 @@ public class SnapshotActivity extends AppCompatActivity implements OnMapReadyCal @Override public void onMapReady(MapboxMap map) { mapboxMap = map; - mapboxMap.setStyleUrl(Style.OUTDOORS); + mapboxMap.setStyle(Style.fromUrl(Style.OUTDOORS)); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); if (fab != null) { fab.setColorFilter(ContextCompat.getColor(SnapshotActivity.this, R.color.primary)); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java index 3b58843e13..099f165b87 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/BottomSheetActivity.java @@ -18,12 +18,12 @@ import android.view.ViewGroup; import android.widget.Toast; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.utils.MapFragmentUtils; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java index 44d27a41ab..3a4aa7c4d3 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DebugModeActivity.java @@ -15,11 +15,11 @@ import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.http.HttpRequestUtil; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.Layer; import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.testapp.R; @@ -84,8 +84,8 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa mapView = (MapView) findViewById(R.id.mapView); mapView.addOnMapChangedListener(change -> { if (change == MapView.DID_FINISH_LOADING_STYLE && mapboxMap != null) { - Timber.v("New style loaded with JSON: %s", mapboxMap.getStyleJson()); - setupNavigationView(mapboxMap.getLayers()); + Timber.v("New style loaded with JSON: %s", mapboxMap.getStyle().getJson()); + setupNavigationView(mapboxMap.getStyle().getLayers()); } }); @@ -100,7 +100,7 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa mapboxMap = map; mapboxMap.getUiSettings().setZoomControlsEnabled(true); - setupNavigationView(mapboxMap.getLayers()); + setupNavigationView(mapboxMap.getStyle().getLayers()); setupZoomView(); setFpsView(); } @@ -162,7 +162,8 @@ public class DebugModeActivity extends AppCompatActivity implements OnMapReadyCa if (currentStyleIndex == STYLES.length) { currentStyleIndex = 0; } - mapboxMap.setStyleUrl(STYLES[currentStyleIndex], style -> Timber.d("Style loaded %s", style)); + Style style = Style.fromUrl(STYLES[currentStyleIndex]); + mapboxMap.setStyle(style, style1 -> Timber.d("Style loaded %s", style1.getUrl())); } }); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java index 75b2378ef7..0b3d7e30bc 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/maplayout/DoubleMapActivity.java @@ -12,9 +12,9 @@ import android.view.ViewGroup; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.constants.MyLocationTracking; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.maps.TrackingSettings; import com.mapbox.mapboxsdk.maps.UiSettings; import com.mapbox.mapboxsdk.testapp.R; @@ -48,7 +48,7 @@ public class DoubleMapActivity extends AppCompatActivity { // we need to set mapboxmap on the parent activity, // for auto-generated ui tests mapboxMap = map; - mapboxMap.setStyleUrl(Style.DARK); + mapboxMap.setStyle(Style.fromUrl(Style.DARK)); mapboxMap.moveCamera(CameraUpdateFactory.zoomTo(18)); try { mapboxMap.setMyLocationEnabled(true); @@ -97,7 +97,7 @@ public class DoubleMapActivity extends AppCompatActivity { mapViewMini = (MapView) view.findViewById(R.id.mini_map); mapViewMini.onCreate(savedInstanceState); mapViewMini.getMapAsync(mapboxMap -> { - mapboxMap.setStyleUrl(Style.LIGHT); + mapboxMap.setStyle(Style.fromUrl(Style.LIGHT)); mapboxMap.moveCamera(CameraUpdateFactory.zoomTo(4)); UiSettings uiSettings = mapboxMap.getUiSettings(); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java index 79e76168d5..b9e6bb7ea0 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/offline/OfflineActivity.java @@ -11,11 +11,11 @@ import android.widget.Toast; import com.mapbox.mapboxsdk.Mapbox; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.offline.OfflineManager; import com.mapbox.mapboxsdk.offline.OfflineRegion; import com.mapbox.mapboxsdk.offline.OfflineRegionError; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java index aadf021a89..62a4821cd5 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterActivity.java @@ -7,9 +7,9 @@ import android.widget.GridLayout; import android.widget.ImageView; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java index 11d1df008a..a81c5ad086 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java @@ -11,8 +11,8 @@ import android.view.ViewTreeObserver; import android.widget.ImageView; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.snapshotter.MapSnapshot; import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java index ef5913beb0..9226f23180 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterReuseActivity.java @@ -6,9 +6,9 @@ import android.view.View; import android.widget.ImageView; import com.mapbox.mapboxsdk.camera.CameraPosition; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.geometry.LatLngBounds; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.snapshotter.MapSnapshot; import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter; import com.mapbox.mapboxsdk.testapp.R; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java index 1014af25db..a5c9d48378 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/AnimatedImageSourceActivity.java @@ -16,6 +16,7 @@ import com.mapbox.mapboxsdk.geometry.LatLngQuad; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.RasterLayer; import com.mapbox.mapboxsdk.style.sources.ImageSource; import com.mapbox.mapboxsdk.testapp.R; @@ -52,17 +53,19 @@ public class AnimatedImageSourceActivity extends AppCompatActivity implements On public void onMapReady(@NonNull final MapboxMap map) { mapboxMap = map; + Style style = map.getStyle(); + // add source LatLngQuad quad = new LatLngQuad( new LatLng(46.437, -80.425), new LatLng(46.437, -71.516), new LatLng(37.936, -71.516), new LatLng(37.936, -80.425)); - mapboxMap.addSource(new ImageSource(ID_IMAGE_SOURCE, quad, R.drawable.southeast_radar_0)); + style.addSource(new ImageSource(ID_IMAGE_SOURCE, quad, R.drawable.southeast_radar_0)); // add layer RasterLayer layer = new RasterLayer(ID_IMAGE_LAYER, ID_IMAGE_SOURCE); - mapboxMap.addLayer(layer); + style.addLayer(layer); // loop refresh geojson handler = new Handler(); @@ -137,7 +140,7 @@ public class AnimatedImageSourceActivity extends AppCompatActivity implements On @Override public void run() { - ((ImageSource) mapboxMap.getSource(ID_IMAGE_SOURCE)).setImage(drawables[drawableIndex++]); + ((ImageSource) mapboxMap.getStyle().getSource(ID_IMAGE_SOURCE)).setImage(drawables[drawableIndex++]); if (drawableIndex > 3) { drawableIndex = 0; } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java index 609910892b..b48dea7407 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/BuildingFillExtrusionActivity.java @@ -61,11 +61,11 @@ public class BuildingFillExtrusionActivity extends AppCompatActivity { fillExtrusionBase(Function.property("min_height", new IdentityStops<Float>())), fillExtrusionOpacity(0.9f) ); - mapboxMap.addLayer(fillExtrusionLayer); + mapboxMap.getStyle().addLayer(fillExtrusionLayer); } private void setupLight() { - light = mapboxMap.getLight(); + light = mapboxMap.getStyle().getLight(); findViewById(R.id.fabLightPosition).setOnClickListener(v -> { isInitPosition = !isInitPosition; diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java index 6aa8777777..6eeac7fd20 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CircleLayerActivity.java @@ -9,10 +9,10 @@ import android.view.View; import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.CircleLayer; import com.mapbox.mapboxsdk.style.layers.LineLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; @@ -70,7 +70,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli } catch (MalformedURLException exception) { Timber.e(exception, "That's not an url... "); } - mapboxMap.addSource(source); + mapboxMap.getStyle().addSource(source); } private void addBusStopCircleLayer() { @@ -79,7 +79,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli circleColor(Color.parseColor("#FF9800")), circleRadius(2.0f) ); - mapboxMap.addLayer(layer); + mapboxMap.getStyle().addLayer(layer); } private void initFloatingActionButtons() { @@ -122,7 +122,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli private void addBusRouteSource() { try { - mapboxMap.addSource(new GeoJsonSource("bus_route", + mapboxMap.getStyle().addSource(new GeoJsonSource("bus_route", new URL("https://gist.githubusercontent.com/tobrun/7fbc0fe7e9ffea509f7608cda2601d5d/raw/" + "a4b8cc289020f91fa2e1553524820054395e36f5/line.geojson"))); } catch (MalformedURLException malformedUrlException) { @@ -132,7 +132,7 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli private void addBusRouteLayer() { LineLayer lineLayer = new LineLayer("route_layer", "bus_route"); - mapboxMap.addLayerBelow(lineLayer, "stops_layer"); + mapboxMap.getStyle().addLayerBelow(lineLayer, "stops_layer"); mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition( new CameraPosition.Builder() .target(new LatLng(1.3896777, 103.9874997)) @@ -150,28 +150,30 @@ public class CircleLayerActivity extends AppCompatActivity implements View.OnCli } private void removeBusStop() { - mapboxMap.removeLayer(layer); - mapboxMap.removeSource(source); + com.mapbox.mapboxsdk.maps.Style style = mapboxMap.getStyle(); + style.removeLayer(layer); + style.removeSource(source); } private void loadNewStyle() { - mapboxMap.setStyleUrl(getNextStyle(), style -> { + mapboxMap.setStyle(getNextStyle(), style -> { addBusStop(); isLoadingStyle = false; }); } private void addBusStop() { - mapboxMap.addLayer(layer); - mapboxMap.addSource(source); + com.mapbox.mapboxsdk.maps.Style style = mapboxMap.getStyle(); + style.addLayer(layer); + style.addSource(source); } - private String getNextStyle() { + private Style getNextStyle() { currentStyleIndex++; if (currentStyleIndex == Data.STYLES.length) { currentStyleIndex = 0; } - return Data.STYLES[currentStyleIndex]; + return Style.fromUrl(Data.STYLES[currentStyleIndex]); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java index 8d35e659d3..44e9324983 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/CustomSpriteActivity.java @@ -11,6 +11,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.Layer; import com.mapbox.mapboxsdk.style.layers.SymbolLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; @@ -53,9 +54,11 @@ public class CustomSpriteActivity extends AppCompatActivity { @Override public void onClick(View view) { if (point == null) { + Style style = map.getStyle(); + Timber.i("First click -> Car"); // Add an icon to reference later - mapboxMap.addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top)); + style.addImage(CUSTOM_ICON, BitmapFactory.decodeResource(getResources(), R.drawable.ic_car_top)); // Add a source with a geojson point point = Point.fromCoordinates(Position.fromCoordinates(13.400972d, 52.519003d)); @@ -63,7 +66,7 @@ public class CustomSpriteActivity extends AppCompatActivity { "point", FeatureCollection.fromFeatures(new Feature[] {Feature.fromGeometry(point)}) ); - mapboxMap.addSource(source); + style.addSource(source); // Add a symbol layer that references that point source layer = new SymbolLayer("layer", "point"); @@ -73,7 +76,7 @@ public class CustomSpriteActivity extends AppCompatActivity { ); // lets add a circle below labels! - mapboxMap.addLayerBelow(layer, "waterway-label"); + style.addLayerBelow(layer, "waterway-label"); fab.setImageResource(R.drawable.ic_directions_car_black); } else { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java index cbac62bcc1..1fd844797f 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/DataDrivenStyleActivity.java @@ -13,6 +13,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.FillLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.style.sources.Source; @@ -46,6 +47,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { public static final String AMSTERDAM_PARKS_LAYER = "amsterdam-parks-layer"; private MapView mapView; private MapboxMap mapboxMap; + private Style style; @Override protected void onCreate(Bundle savedInstanceState) { @@ -60,6 +62,9 @@ public class DataDrivenStyleActivity extends AppCompatActivity { // Store for later mapboxMap = map; + // Store for later + style = map.getStyle(); + // Add a parks layer addParksLayer(); @@ -168,7 +173,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addExponentialZoomFunction() { Timber.i("Add exponential zoom function"); - FillLayer layer = mapboxMap.getLayerAs("water"); + FillLayer layer = style.getLayerAs("water"); assert layer != null; layer.setProperties( fillColor( @@ -186,7 +191,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addIntervalZoomFunction() { Timber.i("Add interval zoom function"); - FillLayer layer = mapboxMap.getLayerAs("water"); + FillLayer layer = style.getLayerAs("water"); assert layer != null; layer.setProperties( fillColor( @@ -204,7 +209,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addExponentialSourceFunction() { Timber.i("Add exponential source function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -223,7 +228,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addCategoricalSourceFunction() { Timber.i("Add categorical source function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -242,7 +247,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addIdentitySourceFunction() { Timber.i("Add identity source function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillOpacity( @@ -255,7 +260,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addIntervalSourceFunction() { Timber.i("Add interval source function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -274,7 +279,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addCompositeExponentialFunction() { Timber.i("Add composite exponential function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -311,7 +316,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addCompositeIntervalFunction() { Timber.i("Add composite interval function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -348,7 +353,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { private void addCompositeCategoricalFunction() { Timber.i("Add composite categorical function"); - FillLayer layer = mapboxMap.getLayerAs(AMSTERDAM_PARKS_LAYER); + FillLayer layer = style.getLayerAs(AMSTERDAM_PARKS_LAYER); assert layer != null; layer.setProperties( fillColor( @@ -449,7 +454,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { Source source; try { source = new GeoJsonSource("amsterdam-parks-source", ResourceUtils.readRawResource(this, R.raw.amsterdam)); - mapboxMap.addSource(source); + style.addSource(source); } catch (IOException ioException) { Toast.makeText( DataDrivenStyleActivity.this, @@ -459,7 +464,7 @@ public class DataDrivenStyleActivity extends AppCompatActivity { } // Add a fill layer - mapboxMap.addLayer(new FillLayer(AMSTERDAM_PARKS_LAYER, source.getId()) + style.addLayer(new FillLayer(AMSTERDAM_PARKS_LAYER, source.getId()) .withProperties( fillColor(Color.BLACK), fillOutlineColor(Color.BLUE), diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java index a88a489cb1..30d26f0910 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/FillExtrusionActivity.java @@ -61,9 +61,9 @@ public class FillExtrusionActivity extends AppCompatActivity { }); GeoJsonSource source = new GeoJsonSource("extrusion-source", domTower); - map.addSource(source); + map.getStyle().addSource(source); - mapboxMap.addLayer( + mapboxMap.getStyle().addLayer( new FillExtrusionLayer("extrusion-layer", source.getId()) .withProperties( fillExtrusionHeight(40f), diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java index 8664979292..02508a0e00 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GeoJsonClusteringActivity.java @@ -114,7 +114,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity { private void addClusteredGeoJsonSource() { // Add a clustered source try { - mapboxMap.addSource( + mapboxMap.getStyle().addSource( new GeoJsonSource("earthquakes", new URL("https://www.mapbox.com/mapbox-gl-js/assets/earthquakes.geojson"), new GeoJsonOptions() @@ -136,7 +136,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity { SymbolLayer unclustered = new SymbolLayer("unclustered-points", "earthquakes"); unclustered.setProperties(iconImage("marker-15")); - mapboxMap.addLayer(unclustered); + mapboxMap.getStyle().addLayer(unclustered); for (int i = 0; i < layers.length; i++) { // Add some nice circles @@ -150,7 +150,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity { ? gte("point_count", layers[i][0]) : all(gte("point_count", layers[i][0]), lt("point_count", layers[i - 1][0])) ); - mapboxMap.addLayer(circles); + mapboxMap.getStyle().addLayer(circles); } // Add the count labels @@ -160,7 +160,7 @@ public class GeoJsonClusteringActivity extends AppCompatActivity { textSize(12f), textColor(Color.WHITE) ); - mapboxMap.addLayer(count); + mapboxMap.getStyle().addLayer(count); // Zoom out to start diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java index 9dda0f8fa2..8dfebd1f98 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/GridSourceActivity.java @@ -101,7 +101,7 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC // add source CustomGeometrySource source = new CustomGeometrySource(ID_GRID_SOURCE, new GridProvider()); - mapboxMap.addSource(source); + mapboxMap.getStyle().addSource(source); // add layer LineLayer layer = new LineLayer(ID_GRID_LAYER, ID_GRID_SOURCE); @@ -109,7 +109,7 @@ public class GridSourceActivity extends AppCompatActivity implements OnMapReadyC lineColor(Color.parseColor("#000000")) ); - mapboxMap.addLayer(layer); + mapboxMap.getStyle().addLayer(layer); } @Override diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java index b9f1dfe810..301dbefa35 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RealTimeGeoJsonActivity.java @@ -53,7 +53,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR // add source try { - mapboxMap.addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE))); + mapboxMap.getStyle().addSource(new GeoJsonSource(ID_GEOJSON_SOURCE, new URL(URL_GEOJSON_SOURCE))); } catch (MalformedURLException malformedUrlException) { Timber.e(malformedUrlException, "Invalid URL"); } @@ -61,7 +61,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR // add layer SymbolLayer layer = new SymbolLayer(ID_GEOJSON_LAYER, ID_GEOJSON_SOURCE); layer.setProperties(iconImage("rocket-15")); - mapboxMap.addLayer(layer); + mapboxMap.getStyle().addLayer(layer); // loop refresh geojson handler = new Handler(); @@ -118,7 +118,7 @@ public class RealTimeGeoJsonActivity extends AppCompatActivity implements OnMapR @Override public void run() { - ((GeoJsonSource) mapboxMap.getSource(ID_GEOJSON_SOURCE)).setUrl(URL_GEOJSON_SOURCE); + ((GeoJsonSource) mapboxMap.getStyle().getSource(ID_GEOJSON_SOURCE)).setUrl(URL_GEOJSON_SOURCE); handler.postDelayed(this, 2000); } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java index 942ce9aa3d..861aded78b 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleActivity.java @@ -12,6 +12,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.CircleLayer; import com.mapbox.mapboxsdk.style.layers.FillLayer; import com.mapbox.mapboxsdk.style.layers.Layer; @@ -72,6 +73,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { private MapView mapView; private MapboxMap mapboxMap; + private Style style; @Override protected void onCreate(Bundle savedInstanceState) { @@ -87,11 +89,14 @@ public class RuntimeStyleActivity extends AppCompatActivity { // Store for later mapboxMap = map; + // Store for later + style = map.getStyle(); + // Center and Zoom (Amsterdam, zoomed to streets) mapboxMap.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(52.379189, 4.899431), 14)); - mapboxMap.setTransitionDuration(250); - mapboxMap.setTransitionDelay(50); + style.setTransitionDuration(250); + style.setTransitionDelay(50); }); } @@ -200,7 +205,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { } private void listLayers() { - List<Layer> layers = mapboxMap.getLayers(); + List<Layer> layers = style.getLayers(); StringBuilder builder = new StringBuilder("Layers:"); for (Layer layer : layers) { builder.append("\n"); @@ -210,7 +215,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { } private void listSources() { - List<Source> sources = mapboxMap.getSources(); + List<Source> sources = style.getSources(); StringBuilder builder = new StringBuilder("Sources:"); for (Source source : sources) { builder.append("\n"); @@ -222,7 +227,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { private void setLayerInvisible() { String[] roadLayers = new String[] {"water"}; for (String roadLayer : roadLayers) { - Layer layer = mapboxMap.getLayer(roadLayer); + Layer layer = style.getLayer(roadLayer); if (layer != null) { layer.setProperties(visibility(NONE)); } @@ -236,7 +241,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { public void onFinish() { String[] roadLayers = new String[] {"road-label-small", "road-label-medium", "road-label-large"}; for (String roadLayer : roadLayers) { - Layer layer = mapboxMap.getLayer(roadLayer); + Layer layer = style.getLayer(roadLayer); if (layer != null) { layer.setProperties(symbolPlacement(SYMBOL_PLACEMENT_POINT)); } @@ -246,14 +251,14 @@ public class RuntimeStyleActivity extends AppCompatActivity { } private void setBackgroundOpacity() { - Layer background = mapboxMap.getLayer("background"); + Layer background = style.getLayer("background"); if (background != null) { background.setProperties(backgroundOpacity(0.2f)); } } private void setWaterColor() { - FillLayer water = mapboxMap.getLayerAs("water"); + FillLayer water = style.getLayerAs("water"); if (water != null) { water.setFillColorTransition(new TransitionOptions(7500, 1000)); water.setProperties( @@ -267,7 +272,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { private void removeBuildings() { // Zoom to see buildings first - mapboxMap.removeLayer("building"); + style.removeLayer("building"); } private void addParksLayer() { @@ -283,7 +288,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { return; } - mapboxMap.addSource(source); + style.addSource(source); FillLayer layer = new FillLayer("parksLayer", "amsterdam-spots"); layer.setProperties( @@ -296,14 +301,14 @@ public class RuntimeStyleActivity extends AppCompatActivity { // Only show me parks (except westerpark with stroke-width == 3) layer.setFilter(all(eq("type", "park"), eq("stroke-width", 2))); - mapboxMap.addLayerBelow(layer, "building"); + style.addLayerBelow(layer, "building"); // layer.setPaintProperty(fillColor(Color.RED)); // XXX But not after the object is attached // Or get the object later and set it. It's all good. - mapboxMap.getLayer("parksLayer").setProperties(fillColor(Color.RED)); + style.getLayer("parksLayer").setProperties(fillColor(Color.RED)); // You can get a typed layer, if you're sure it's of that type. Use with care - layer = mapboxMap.getLayerAs("parksLayer"); + layer = style.getLayerAs("parksLayer"); // And get some properties PropertyValue<Boolean> fillAntialias = layer.getFillAntialias(); Timber.d("Fill anti alias: %s", fillAntialias.getValue()); @@ -333,7 +338,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { } // Add an empty source - mapboxMap.addSource(new GeoJsonSource("dynamic-park-source")); + style.addSource(new GeoJsonSource("dynamic-park-source")); FillLayer layer = new FillLayer("dynamic-parks-layer", "dynamic-park-source"); layer.setProperties( @@ -346,7 +351,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { // Only show me parks layer.setFilter(all(eq("type", "park"))); - mapboxMap.addLayer(layer); + style.addLayer(layer); // Get a good look at it all mapboxMap.animateCamera(CameraUpdateFactory.zoomTo(12)); @@ -366,7 +371,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { // change the source int park = counter < parks.getFeatures().size() - 1 ? counter : 0; - GeoJsonSource source = mapboxMap.getSourceAs("dynamic-park-source"); + GeoJsonSource source = style.getSourceAs("dynamic-park-source"); if (source == null) { Timber.e("Source not found"); @@ -386,7 +391,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { private void addTerrainLayer() { // Add a source Source source = new VectorSource("my-terrain-source", "mapbox://mapbox.mapbox-terrain-v2"); - mapboxMap.addSource(source); + style.addSource(source); LineLayer layer = new LineLayer("terrainLayer", "my-terrain-source"); layer.setSourceLayer("contour"); @@ -398,7 +403,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { ); // adding layers below "road" layers - List<Layer> layers = mapboxMap.getLayers(); + List<Layer> layers = style.getLayers(); Layer latestLayer = null; Collections.reverse(layers); for (Layer currentLayer : layers) { @@ -414,17 +419,17 @@ public class RuntimeStyleActivity extends AppCompatActivity { } if (latestLayer != null) { - mapboxMap.addLayerBelow(layer, latestLayer.getId()); + style.addLayerBelow(layer, latestLayer.getId()); } // Need to get a fresh handle - layer = mapboxMap.getLayerAs("terrainLayer"); + layer = style.getLayerAs("terrainLayer"); // Make sure it's also applied after the fact layer.setMinZoom(10); layer.setMaxZoom(15); - layer = (LineLayer) mapboxMap.getLayer("terrainLayer"); + layer = (LineLayer) style.getLayer("terrainLayer"); Toast.makeText(this, String.format( "Set min/max zoom to %s - %s", layer.getMinZoom(), layer.getMaxZoom()), Toast.LENGTH_SHORT).show(); } @@ -432,14 +437,14 @@ public class RuntimeStyleActivity extends AppCompatActivity { private void addSatelliteLayer() { // Add a source Source source = new RasterSource("my-raster-source", "mapbox://mapbox.satellite", 512); - mapboxMap.addSource(source); + style.addSource(source); // Add a layer - mapboxMap.addLayer(new RasterLayer("satellite-layer", "my-raster-source")); + style.addLayer(new RasterLayer("satellite-layer", "my-raster-source")); } private void updateWaterColorOnZoom() { - FillLayer layer = mapboxMap.getLayerAs("water"); + FillLayer layer = style.getLayerAs("water"); if (layer == null) { return; } @@ -468,7 +473,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { tileSet.setMinZoom(0); tileSet.setMaxZoom(14); Source source = new VectorSource("custom-tile-source", tileSet); - mapboxMap.addSource(source); + style.addSource(source); // Add a layer LineLayer lineLayer = new LineLayer("custom-tile-layers", "custom-tile-source"); @@ -480,11 +485,11 @@ public class RuntimeStyleActivity extends AppCompatActivity { lineWidth(2.0f), lineColor(Color.GREEN) ); - mapboxMap.addLayer(lineLayer); + style.addLayer(lineLayer); } private void styleFillFilterLayer() { - mapboxMap.setStyleUrl("asset://fill_filter_style.json"); + mapboxMap.setStyle(Style.fromUrl("asset://fill_filter_style.json")); mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(31, -100), 3)); Handler handler = new Handler(getMainLooper()); @@ -495,7 +500,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { Timber.d("Styling filtered fill layer"); - FillLayer states = (FillLayer) mapboxMap.getLayer("states"); + FillLayer states = (FillLayer) style.getLayer("states"); if (states != null) { states.setFilter(eq("name", "Texas")); @@ -512,7 +517,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { } private void styleLineFilterLayer() { - mapboxMap.setStyleUrl("asset://line_filter_style.json"); + mapboxMap.setStyle(Style.fromUrl("asset://line_filter_style.json")); mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5)); Handler handler = new Handler(getMainLooper()); @@ -523,7 +528,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { Timber.d("Styling filtered line layer"); - LineLayer counties = (LineLayer) mapboxMap.getLayer("counties"); + LineLayer counties = (LineLayer) style.getLayer("counties"); if (counties != null) { counties.setFilter(eq("NAME10", "Washington")); @@ -540,7 +545,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { } private void styleNumericFillLayer() { - mapboxMap.setStyleUrl("asset://numeric_filter_style.json"); + mapboxMap.setStyle(Style.fromUrl("asset://numeric_filter_style.json")); mapboxMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(40, -97), 5)); Handler handler = new Handler(getMainLooper()); @@ -551,7 +556,7 @@ public class RuntimeStyleActivity extends AppCompatActivity { Timber.d("Styling numeric fill layer"); - FillLayer regions = (FillLayer) mapboxMap.getLayer("regions"); + FillLayer regions = (FillLayer) style.getLayer("regions"); if (regions != null) { regions.setFilter(all(gte("HRRNUM", 200), lt("HRRNUM", 300))); diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java index e51a7ec8a0..59703b3fb1 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/RuntimeStyleTimingTestActivity.java @@ -34,7 +34,7 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity { mapView.getMapAsync(mapboxMap -> { RuntimeStyleTimingTestActivity.this.mapboxMap = mapboxMap; VectorSource museums = new VectorSource("museums_source", "mapbox://mapbox.2opop9hr"); - mapboxMap.addSource(museums); + mapboxMap.getStyle().addSource(museums); CircleLayer museumsLayer = new CircleLayer("museums", "museums_source"); museumsLayer.setSourceLayer("museum-cusco"); @@ -44,7 +44,7 @@ public class RuntimeStyleTimingTestActivity extends AppCompatActivity { circleColor(Color.argb(1, 55, 148, 179)) ); - mapboxMap.addLayer(museumsLayer); + mapboxMap.getStyle().addLayer(museumsLayer); }); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java index d2a46c63ae..1fb3bc9306 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/StyleFileActivity.java @@ -10,6 +10,7 @@ import android.widget.Toast; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils; @@ -78,7 +79,7 @@ public class StyleFileActivity extends AppCompatActivity { Timber.d("Read json, %s", json); MapboxMap mapboxMap = this.mapboxMap.get(); if (mapboxMap != null) { - mapboxMap.setStyleJson(json); + mapboxMap.setStyle(Style.fromJson(json)); } } } @@ -116,7 +117,7 @@ public class StyleFileActivity extends AppCompatActivity { // Actual file:// usage MapboxMap mapboxMap = this.mapboxMap.get(); if (mapboxMap != null) { - mapboxMap.setStyleUrl("file://" + cacheStyleFile.getAbsolutePath()); + mapboxMap.setStyle(Style.fromUrl("file://" + cacheStyleFile.getAbsolutePath())); } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java index 1ef59db9b1..778f9a041d 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolGeneratorActivity.java @@ -114,11 +114,11 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == R.id.menu_action_icon_overlap) { - SymbolLayer layer = mapboxMap.getLayerAs(LAYER_ID); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(LAYER_ID); layer.setProperties(iconAllowOverlap(!layer.getIconAllowOverlap().getValue())); return true; } else if (item.getItemId() == R.id.menu_action_filter) { - SymbolLayer layer = mapboxMap.getLayerAs(LAYER_ID); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(LAYER_ID); layer.setFilter(Filter.eq(FEATURE_RANK, 1)); //layer.setFilter(eq(get(FEATURE_RANK), 1)); return true; @@ -171,7 +171,7 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR /** * Utility class to generate Bitmaps for Symbol. * <p> - * Bitmaps can be added to the map with {@link com.mapbox.mapboxsdk.maps.MapboxMap#addImage(String, Bitmap)} + * Bitmaps can be added to the map with {@link com.mapbox.mapboxsdk.maps.Style#addImage(String, Bitmap)} * </p> */ private static class SymbolGenerator { @@ -238,10 +238,10 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR public void onDataLoaded(@NonNull FeatureCollection featureCollection) { // add a geojson to the map Source source = new GeoJsonSource(SOURCE_ID, featureCollection); - mapboxMap.addSource(source); + mapboxMap.getStyle().addSource(source); // create layer use - mapboxMap.addLayer(new SymbolLayer(LAYER_ID, SOURCE_ID) + mapboxMap.getStyle().addLayer(new SymbolLayer(LAYER_ID, SOURCE_ID) .withProperties( // icon configuration @@ -303,7 +303,7 @@ public class SymbolGeneratorActivity extends AppCompatActivity implements OnMapR @Override protected void onPostExecute(HashMap<String, Bitmap> bitmapHashMap) { super.onPostExecute(bitmapHashMap); - mapboxMap.addImages(bitmapHashMap); + mapboxMap.getStyle().addImages(bitmapHashMap); } } }
\ No newline at end of file diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java index d89d71e604..086026a782 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/SymbolLayerActivity.java @@ -15,6 +15,7 @@ import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.SymbolLayer; import com.mapbox.mapboxsdk.style.sources.GeoJsonSource; import com.mapbox.mapboxsdk.testapp.R; @@ -53,8 +54,11 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. mapView.getMapAsync(map -> { mapboxMap = map; + + Style style = map.getStyle(); + // Add a image for the makers - mapboxMap.addImage( + style.addImage( "my-marker-image", BitmapFactory.decodeResource(SymbolLayerActivity.this.getResources(), R.drawable.mapbox_marker_icon_default) @@ -65,10 +69,10 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. Feature.fromGeometry(Point.fromCoordinates(new double[] {4.91638, 52.35673}), featureProperties("Marker 1")), Feature.fromGeometry(Point.fromCoordinates(new double[] {4.91638, 52.34673}), featureProperties("Marker 2")) }); - mapboxMap.addSource(new GeoJsonSource(MARKER_SOURCE, markers)); + style.addSource(new GeoJsonSource(MARKER_SOURCE, markers)); // Add the symbol-layer - mapboxMap.addLayer( + style.addLayer( new SymbolLayer(MARKER_LAYER, MARKER_SOURCE) .withProperties( iconImage("my-marker-image"), @@ -93,7 +97,7 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. PointF screenLoc = mapboxMap.getProjection().toScreenLocation(point); List<Feature> features = mapboxMap.queryRenderedFeatures(screenLoc, MARKER_LAYER); - SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER); if (features.size() == 0) { // Reset layer.setProperties(iconSize(1f)); @@ -103,17 +107,17 @@ public class SymbolLayerActivity extends AppCompatActivity implements MapboxMap. } private void toggleTextSize() { - SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER); layer.setProperties(layer.getTextSize().getValue() > 10 ? textSize(10f) : textSize(20f)); } private void toggleTextField() { - SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER); layer.setProperties("{title}".equals(layer.getTextField().getValue()) ? textField("āA") : textField("{title}")); } private void toggleTextFont() { - SymbolLayer layer = mapboxMap.getLayerAs(MARKER_LAYER); + SymbolLayer layer = mapboxMap.getStyle().getLayerAs(MARKER_LAYER); String[] fonts = layer.getTextFont().getValue(); if (fonts == null || fonts.length == 0 || Arrays.asList(fonts).contains("Arial Unicode MS Regular")) { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java index 4a6e62ef7d..aa4db224b7 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/style/ZoomFunctionSymbolLayerActivity.java @@ -75,7 +75,7 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { source.setGeoJson(featureCollection); } else { source = new GeoJsonSource(SOURCE_ID, featureCollection); - mapboxMap.addSource(source); + mapboxMap.getStyle().addSource(source); } } @@ -121,7 +121,7 @@ public class ZoomFunctionSymbolLayerActivity extends AppCompatActivity { ), iconAllowOverlap(true) ); - mapboxMap.addLayer(layer); + mapboxMap.getStyle().addLayer(layer); } private void addMapClickListener() { diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java index 007e6c7f2e..075c6de772 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/textureview/TextureViewDebugModeActivity.java @@ -15,10 +15,10 @@ import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.OnMapReadyCallback; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.style.layers.Layer; import com.mapbox.mapboxsdk.style.layers.Property; import com.mapbox.mapboxsdk.testapp.R; @@ -82,8 +82,8 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O mapView = (MapView) findViewById(R.id.mapView); mapView.addOnMapChangedListener(change -> { if (change == MapView.DID_FINISH_LOADING_STYLE && mapboxMap != null) { - Timber.v("New style loaded with JSON: %s", mapboxMap.getStyleJson()); - setupNavigationView(mapboxMap.getLayers()); + Timber.v("New style loaded with JSON: %s", mapboxMap.getStyle().getJson()); + setupNavigationView(mapboxMap.getStyle().getLayers()); } }); @@ -98,7 +98,7 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O mapboxMap = map; mapboxMap.getUiSettings().setZoomControlsEnabled(true); - setupNavigationView(mapboxMap.getLayers()); + setupNavigationView(mapboxMap.getStyle().getLayers()); setupZoomView(); setFpsView(); } @@ -157,7 +157,9 @@ public class TextureViewDebugModeActivity extends AppCompatActivity implements O if (currentStyleIndex == STYLES.length) { currentStyleIndex = 0; } - mapboxMap.setStyleUrl(STYLES[currentStyleIndex], style -> Timber.d("Style loaded %s", style)); + + Style style = Style.fromUrl(STYLES[currentStyleIndex]); + mapboxMap.setStyle(style, style1 -> Timber.d("Style loaded %s", style1.getUrl())); } }); } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java index 000042306f..46a730f978 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/userlocation/MyLocationDrawableActivity.java @@ -9,11 +9,11 @@ import android.view.View; import android.view.ViewGroup; import com.mapbox.mapboxsdk.camera.CameraUpdateFactory; -import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.maps.MapView; import com.mapbox.mapboxsdk.maps.MapboxMap; import com.mapbox.mapboxsdk.maps.MapboxMapOptions; +import com.mapbox.mapboxsdk.maps.Style; import com.mapbox.mapboxsdk.testapp.R; import com.mapbox.services.android.telemetry.location.LocationEngineListener; |