[update] pull in latest for gl-native
This commit is contained in:
@@ -2,6 +2,8 @@ package com.mapbox.mapboxsdk;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.content.res.AssetManager;
|
||||
import android.support.annotation.Keep;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.annotation.UiThread;
|
||||
@@ -24,6 +26,7 @@ import com.mapbox.mapboxsdk.utils.ThreadUtils;
|
||||
*/
|
||||
@UiThread
|
||||
@SuppressLint("StaticFieldLeak")
|
||||
@Keep
|
||||
public final class Mapbox {
|
||||
|
||||
private static final String TAG = "Mbgl-Mapbox";
|
||||
@@ -222,4 +225,13 @@ public final class Mapbox {
|
||||
public static boolean hasInstance() {
|
||||
return INSTANCE != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal use. Returns AssetManager.
|
||||
*
|
||||
* @return the asset manager
|
||||
*/
|
||||
private static AssetManager getAssetManager() {
|
||||
return getApplicationContext().getResources().getAssets();
|
||||
}
|
||||
}
|
||||
@@ -726,6 +726,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the zoom change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the zoom as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param zoomLevel The desired zoom level.
|
||||
* @param animationDuration The zoom animation duration.
|
||||
@@ -741,6 +745,10 @@ public final class LocationComponent {
|
||||
"LocationComponent#zoomWhileTracking method can only be used",
|
||||
" when a camera mode other than CameraMode#NONE is engaged."));
|
||||
return;
|
||||
} else if (locationCameraController.isTransitioning()) {
|
||||
Logger.e(TAG,
|
||||
"LocationComponent#zoomWhileTracking method call is ignored because the camera mode is transitioning");
|
||||
return;
|
||||
}
|
||||
locationAnimatorCoordinator.feedNewZoomLevel(zoomLevel, mapboxMap.getCameraPosition(), animationDuration, callback);
|
||||
}
|
||||
@@ -751,6 +759,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the zoom change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the zoom as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param zoomLevel The desired zoom level.
|
||||
* @param animationDuration The zoom animation duration.
|
||||
@@ -766,6 +778,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the zoom change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the zoom as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param zoomLevel The desired zoom level.
|
||||
*/
|
||||
@@ -788,6 +804,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the tilt change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the tilt as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param tilt The desired camera tilt.
|
||||
* @param animationDuration The tilt animation duration.
|
||||
@@ -803,6 +823,10 @@ public final class LocationComponent {
|
||||
"LocationComponent#tiltWhileTracking method can only be used",
|
||||
" when a camera mode other than CameraMode#NONE is engaged."));
|
||||
return;
|
||||
} else if (locationCameraController.isTransitioning()) {
|
||||
Logger.e(TAG,
|
||||
"LocationComponent#tiltWhileTracking method call is ignored because the camera mode is transitioning");
|
||||
return;
|
||||
}
|
||||
locationAnimatorCoordinator.feedNewTilt(tilt, mapboxMap.getCameraPosition(), animationDuration, callback);
|
||||
}
|
||||
@@ -813,6 +837,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the tilt change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the tilt as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param tilt The desired camera tilt.
|
||||
* @param animationDuration The tilt animation duration.
|
||||
@@ -828,6 +856,10 @@ public final class LocationComponent {
|
||||
* If you are not using any of {@link CameraMode} modes,
|
||||
* use one of {@link MapboxMap#moveCamera(CameraUpdate)},
|
||||
* {@link MapboxMap#easeCamera(CameraUpdate)} or {@link MapboxMap#animateCamera(CameraUpdate)} instead.
|
||||
* <p>
|
||||
* If the camera is transitioning when the tilt change is requested, the call is going to be ignored.
|
||||
* Use {@link CameraTransitionListener} to chain the animations, or provide the tilt as a camera change argument.
|
||||
* </p>
|
||||
*
|
||||
* @param tilt The desired camera tilt.
|
||||
*/
|
||||
|
||||
@@ -26,6 +26,8 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
* Responsible for managing attribution interactions on the map.
|
||||
@@ -36,9 +38,10 @@ import java.util.Set;
|
||||
* </p>
|
||||
*/
|
||||
public class AttributionDialogManager implements View.OnClickListener, DialogInterface.OnClickListener {
|
||||
|
||||
private static final String MAP_FEEDBACK_URL = "https://apps.mapbox.com/feedback";
|
||||
private static final String MAP_FEEDBACK_LOCATION_FORMAT = MAP_FEEDBACK_URL + "/#/%f/%f/%d";
|
||||
private static final String MAP_FEEDBACK_URL_OLD = "https://www.mapbox.com/map-feedback";
|
||||
private static final String MAP_FEEDBACK_URL_LOCATION_FRAGMENT_FORMAT = "/%f/%f/%f/%f/%d";
|
||||
private static final String MAP_FEEDBACK_STYLE_URI_REGEX = "^(.*://[^:^/]*)/(.*)/(.*)";
|
||||
|
||||
@NonNull
|
||||
private final Context context;
|
||||
@@ -90,7 +93,7 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
|
||||
if (isLatestEntry(which)) {
|
||||
showTelemetryDialog();
|
||||
} else {
|
||||
showMapFeedbackWebPage(which);
|
||||
showMapAttributionWebPage(which);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -138,21 +141,54 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
|
||||
builder.show();
|
||||
}
|
||||
|
||||
private void showMapFeedbackWebPage(int which) {
|
||||
private void showMapAttributionWebPage(int which) {
|
||||
Attribution[] attributions = attributionSet.toArray(new Attribution[attributionSet.size()]);
|
||||
String url = attributions[which].getUrl();
|
||||
if (url.contains(MAP_FEEDBACK_URL)) {
|
||||
url = buildMapFeedbackMapUrl(mapboxMap.getCameraPosition());
|
||||
if (url.contains(MAP_FEEDBACK_URL_OLD) || url.contains(MAP_FEEDBACK_URL)) {
|
||||
url = buildMapFeedbackMapUrl(Mapbox.getAccessToken());
|
||||
}
|
||||
showWebPage(url);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private String buildMapFeedbackMapUrl(@Nullable CameraPosition cameraPosition) {
|
||||
// appends current location to the map feedback url if available
|
||||
return cameraPosition != null ? String.format(Locale.getDefault(),
|
||||
MAP_FEEDBACK_LOCATION_FORMAT, cameraPosition.target.getLongitude(), cameraPosition.target.getLatitude(),
|
||||
(int) cameraPosition.zoom) : MAP_FEEDBACK_URL;
|
||||
String buildMapFeedbackMapUrl(@Nullable String accessToken) {
|
||||
// TODO Add Android Maps SDK version to the query parameter, currently the version API is not available.
|
||||
// TODO Keep track of this issue at [#15632](https://github.com/mapbox/mapbox-gl-native/issues/15632)
|
||||
|
||||
Uri.Builder builder = Uri.parse(MAP_FEEDBACK_URL).buildUpon();
|
||||
|
||||
CameraPosition cameraPosition = mapboxMap.getCameraPosition();
|
||||
if (cameraPosition != null) {
|
||||
builder.encodedFragment(String.format(Locale.getDefault(), MAP_FEEDBACK_URL_LOCATION_FRAGMENT_FORMAT,
|
||||
cameraPosition.target.getLongitude(), cameraPosition.target.getLatitude(),
|
||||
cameraPosition.zoom, cameraPosition.bearing, (int) cameraPosition.tilt));
|
||||
}
|
||||
|
||||
String packageName = context.getApplicationContext().getPackageName();
|
||||
if (packageName != null) {
|
||||
builder.appendQueryParameter("referrer", packageName);
|
||||
}
|
||||
|
||||
if (accessToken != null) {
|
||||
builder.appendQueryParameter("access_token", accessToken);
|
||||
}
|
||||
|
||||
Style style = mapboxMap.getStyle();
|
||||
if (style != null) {
|
||||
String styleUri = style.getUri();
|
||||
Pattern pattern = Pattern.compile(MAP_FEEDBACK_STYLE_URI_REGEX);
|
||||
Matcher matcher = pattern.matcher(styleUri);
|
||||
|
||||
if (matcher.find()) {
|
||||
String styleOwner = matcher.group(2);
|
||||
String styleId = matcher.group(3);
|
||||
|
||||
builder.appendQueryParameter("owner", styleOwner)
|
||||
.appendQueryParameter("id", styleId);
|
||||
}
|
||||
}
|
||||
|
||||
return builder.build().toString();
|
||||
}
|
||||
|
||||
private void showWebPage(@NonNull String url) {
|
||||
@@ -189,10 +225,10 @@ public class AttributionDialogManager implements View.OnClickListener, DialogInt
|
||||
|
||||
Style style = mapboxMap.getStyle();
|
||||
if (style != null) {
|
||||
for (Source source : mapboxMap.getStyle().getSources()) {
|
||||
for (Source source : style.getSources()) {
|
||||
attribution = source.getAttribution();
|
||||
if (!attribution.isEmpty()) {
|
||||
attributions.add(source.getAttribution());
|
||||
attributions.add(attribution);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.graphics.PointF;
|
||||
import android.graphics.RectF;
|
||||
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.Size;
|
||||
@@ -246,12 +247,16 @@ public final class MapboxMap {
|
||||
// Style
|
||||
|
||||
/**
|
||||
* Sets tile pre-fetching from MapboxOptions.
|
||||
* Sets tile pre-fetching zoom delta from MapboxOptions.
|
||||
*
|
||||
* @param options the options object
|
||||
*/
|
||||
private void setPrefetchesTiles(@NonNull MapboxMapOptions options) {
|
||||
setPrefetchesTiles(options.getPrefetchesTiles());
|
||||
if (!options.getPrefetchesTiles()) {
|
||||
setPrefetchZoomDelta(0);
|
||||
} else {
|
||||
setPrefetchZoomDelta(options.getPrefetchZoomDelta());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -259,7 +264,9 @@ public final class MapboxMap {
|
||||
* tile is rendered as soon as possible at the expense of a little bandwidth.
|
||||
*
|
||||
* @param enable true to enable
|
||||
* @deprecated Use {@link #setPrefetchZoomDelta(int)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
public void setPrefetchesTiles(boolean enable) {
|
||||
nativeMapView.setPrefetchTiles(enable);
|
||||
}
|
||||
@@ -269,11 +276,38 @@ public final class MapboxMap {
|
||||
*
|
||||
* @return true if enabled
|
||||
* @see MapboxMap#setPrefetchesTiles(boolean)
|
||||
* @deprecated Use {@link #getPrefetchZoomDelta()} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean getPrefetchesTiles() {
|
||||
return nativeMapView.getPrefetchTiles();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the tile pre-fetching zoom delta. Pre-fetching makes sure that a low-resolution
|
||||
* tile at the (current_zoom_level - delta) is rendered as soon as possible at the
|
||||
* expense of a little bandwidth.
|
||||
* Note: This operation will override the MapboxMapOptions#setPrefetchesTiles(boolean)
|
||||
* Setting zoom delta to 0 will disable pre-fetching.
|
||||
* Default zoom delta is 4.
|
||||
*
|
||||
* @param delta zoom delta
|
||||
*/
|
||||
public void setPrefetchZoomDelta(@IntRange(from = 0) int delta) {
|
||||
nativeMapView.setPrefetchZoomDelta(delta);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check current pre-fetching zoom delta.
|
||||
*
|
||||
* @return current zoom delta.
|
||||
* @see MapboxMap#setPrefetchZoomDelta(int)
|
||||
*/
|
||||
@IntRange(from = 0)
|
||||
public int getPrefetchZoomDelta() {
|
||||
return nativeMapView.getPrefetchZoomDelta();
|
||||
}
|
||||
|
||||
//
|
||||
// MinZoom
|
||||
//
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.graphics.drawable.Drawable;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.support.annotation.ColorInt;
|
||||
import android.support.annotation.IntRange;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.annotation.VisibleForTesting;
|
||||
@@ -70,6 +71,7 @@ public class MapboxMapOptions implements Parcelable {
|
||||
private boolean quickZoomGesturesEnabled = true;
|
||||
|
||||
private boolean prefetchesTiles = true;
|
||||
private int prefetchZoomDelta = 4;
|
||||
private boolean zMediaOverlay = false;
|
||||
|
||||
private boolean localIdeographFontFamilyEnabled = true;
|
||||
@@ -134,6 +136,7 @@ public class MapboxMapOptions implements Parcelable {
|
||||
textureMode = in.readByte() != 0;
|
||||
translucentTextureSurface = in.readByte() != 0;
|
||||
prefetchesTiles = in.readByte() != 0;
|
||||
prefetchZoomDelta = in.readInt();
|
||||
zMediaOverlay = in.readByte() != 0;
|
||||
localIdeographFontFamilyEnabled = in.readByte() != 0;
|
||||
localIdeographFontFamily = in.readString();
|
||||
@@ -257,6 +260,8 @@ public class MapboxMapOptions implements Parcelable {
|
||||
typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_renderTextureTranslucentSurface, false));
|
||||
mapboxMapOptions.setPrefetchesTiles(
|
||||
typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_enableTilePrefetch, true));
|
||||
mapboxMapOptions.setPrefetchZoomDelta(
|
||||
typedArray.getInt(R.styleable.mapbox_MapView_mapbox_prefetchZoomDelta, 4));
|
||||
mapboxMapOptions.renderSurfaceOnTop(
|
||||
typedArray.getBoolean(R.styleable.mapbox_MapView_mapbox_enableZMediaOverlay, false));
|
||||
|
||||
@@ -633,13 +638,32 @@ public class MapboxMapOptions implements Parcelable {
|
||||
*
|
||||
* @param enable true to enable
|
||||
* @return This
|
||||
* @deprecated Use {@link #setPrefetchZoomDelta(int)} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
@NonNull
|
||||
public MapboxMapOptions setPrefetchesTiles(boolean enable) {
|
||||
this.prefetchesTiles = enable;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the tile pre-fetching zoom delta. Pre-fetching makes sure that a low-resolution
|
||||
* tile at the (current_zoom_level - delta) is rendered as soon as possible at the
|
||||
* expense of a little bandwidth.
|
||||
* Note: This operation will override the MapboxMapOptions#setPrefetchesTiles(boolean)
|
||||
* Setting zoom delta to 0 will disable pre-fetching.
|
||||
* Default zoom delta is 4.
|
||||
*
|
||||
* @param delta zoom delta
|
||||
* @return This
|
||||
*/
|
||||
@NonNull
|
||||
public MapboxMapOptions setPrefetchZoomDelta(@IntRange(from = 0) int delta) {
|
||||
this.prefetchZoomDelta = delta;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable cross-source symbol collision detection, defaults to true.
|
||||
* <p>
|
||||
@@ -721,11 +745,23 @@ public class MapboxMapOptions implements Parcelable {
|
||||
* Check whether tile pre-fetching is enabled.
|
||||
*
|
||||
* @return true if enabled
|
||||
* @deprecated Use {@link #getPrefetchZoomDelta()} instead.
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean getPrefetchesTiles() {
|
||||
return prefetchesTiles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check current pre-fetching zoom delta.
|
||||
*
|
||||
* @return current zoom delta.
|
||||
*/
|
||||
@IntRange(from = 0)
|
||||
public int getPrefetchZoomDelta() {
|
||||
return prefetchZoomDelta;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check whether cross-source symbol collision detection is enabled.
|
||||
*
|
||||
@@ -1081,6 +1117,7 @@ public class MapboxMapOptions implements Parcelable {
|
||||
dest.writeByte((byte) (textureMode ? 1 : 0));
|
||||
dest.writeByte((byte) (translucentTextureSurface ? 1 : 0));
|
||||
dest.writeByte((byte) (prefetchesTiles ? 1 : 0));
|
||||
dest.writeInt(prefetchZoomDelta);
|
||||
dest.writeByte((byte) (zMediaOverlay ? 1 : 0));
|
||||
dest.writeByte((byte) (localIdeographFontFamilyEnabled ? 1 : 0));
|
||||
dest.writeString(localIdeographFontFamily);
|
||||
@@ -1175,6 +1212,9 @@ public class MapboxMapOptions implements Parcelable {
|
||||
if (prefetchesTiles != options.prefetchesTiles) {
|
||||
return false;
|
||||
}
|
||||
if (prefetchZoomDelta != options.prefetchZoomDelta) {
|
||||
return false;
|
||||
}
|
||||
if (zMediaOverlay != options.zMediaOverlay) {
|
||||
return false;
|
||||
}
|
||||
@@ -1231,6 +1271,7 @@ public class MapboxMapOptions implements Parcelable {
|
||||
result = 31 * result + (textureMode ? 1 : 0);
|
||||
result = 31 * result + (translucentTextureSurface ? 1 : 0);
|
||||
result = 31 * result + (prefetchesTiles ? 1 : 0);
|
||||
result = 31 * result + prefetchZoomDelta;
|
||||
result = 31 * result + (zMediaOverlay ? 1 : 0);
|
||||
result = 31 * result + (localIdeographFontFamilyEnabled ? 1 : 0);
|
||||
result = 31 * result + (localIdeographFontFamily != null ? localIdeographFontFamily.hashCode() : 0);
|
||||
|
||||
@@ -6,6 +6,7 @@ import android.graphics.RectF;
|
||||
import android.support.annotation.IntRange;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
|
||||
import com.mapbox.geojson.Feature;
|
||||
import com.mapbox.geojson.Geometry;
|
||||
import com.mapbox.mapboxsdk.annotations.Marker;
|
||||
@@ -214,6 +215,11 @@ interface NativeMap {
|
||||
|
||||
boolean getPrefetchTiles();
|
||||
|
||||
void setPrefetchZoomDelta(@IntRange(from = 0) int delta);
|
||||
|
||||
@IntRange(from = 0)
|
||||
int getPrefetchZoomDelta();
|
||||
|
||||
void setGestureInProgress(boolean inProgress);
|
||||
|
||||
float getPixelRatio();
|
||||
|
||||
@@ -620,7 +620,7 @@ final class NativeMapView implements NativeMap {
|
||||
if (checkState("getMetersPerPixelAtLatitude")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetMetersPerPixelAtLatitude(lat, getZoom()) / pixelRatio;
|
||||
return nativeGetMetersPerPixelAtLatitude(lat, getZoom());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -724,6 +724,23 @@ final class NativeMapView implements NativeMap {
|
||||
return nativeGetPrefetchTiles();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPrefetchZoomDelta(@IntRange(from = 0) int delta) {
|
||||
if (checkState("nativeSetPrefetchZoomDelta")) {
|
||||
return;
|
||||
}
|
||||
nativeSetPrefetchZoomDelta(delta);
|
||||
}
|
||||
|
||||
@Override
|
||||
@IntRange(from = 0)
|
||||
public int getPrefetchZoomDelta() {
|
||||
if (checkState("nativeGetPrefetchZoomDelta")) {
|
||||
return 0;
|
||||
}
|
||||
return nativeGetPrefetchZoomDelta();
|
||||
}
|
||||
|
||||
// Runtime style Api
|
||||
|
||||
@Override
|
||||
@@ -1383,6 +1400,12 @@ final class NativeMapView implements NativeMap {
|
||||
@Keep
|
||||
private native boolean nativeGetPrefetchTiles();
|
||||
|
||||
@Keep
|
||||
private native void nativeSetPrefetchZoomDelta(int delta);
|
||||
|
||||
@Keep
|
||||
private native int nativeGetPrefetchZoomDelta();
|
||||
|
||||
@Override
|
||||
public long getNativePtr() {
|
||||
return nativePtr;
|
||||
|
||||
@@ -417,10 +417,6 @@ public final class UiSettings {
|
||||
}
|
||||
|
||||
void update(@NonNull CameraPosition cameraPosition) {
|
||||
if (!isCompassEnabled()) {
|
||||
return;
|
||||
}
|
||||
|
||||
double clockwiseBearing = -cameraPosition.bearing;
|
||||
compassView.update(clockwiseBearing);
|
||||
}
|
||||
@@ -1073,6 +1069,7 @@ public final class UiSettings {
|
||||
*/
|
||||
public void invalidate() {
|
||||
setLogoMargins(getLogoMarginLeft(), getLogoMarginTop(), getLogoMarginRight(), getLogoMarginBottom());
|
||||
setCompassEnabled(isCompassEnabled());
|
||||
setCompassMargins(getCompassMarginLeft(), getCompassMarginTop(), getCompassMarginRight(), getCompassMarginBottom());
|
||||
setAttributionMargins(getAttributionMarginLeft(), getAttributionMarginTop(), getAttributionMarginRight(),
|
||||
getAttributionMarginBottom());
|
||||
|
||||
@@ -91,6 +91,7 @@ public final class CompassView extends ImageView implements Runnable {
|
||||
resetAnimation();
|
||||
setAlpha(1.0f);
|
||||
setVisibility(View.VISIBLE);
|
||||
update(rotation);
|
||||
} else {
|
||||
resetAnimation();
|
||||
setAlpha(0.0f);
|
||||
|
||||
@@ -235,7 +235,7 @@ public class MapSnapshotter {
|
||||
*/
|
||||
@NonNull
|
||||
public Options withApiBaseUri(String apiBaseUri) {
|
||||
this.apiBaseUrl = apiBaseUrl;
|
||||
this.apiBaseUrl = apiBaseUri;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,6 @@ import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.res.AssetManager;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Environment;
|
||||
import android.support.annotation.Keep;
|
||||
@@ -90,7 +89,7 @@ public class FileSource {
|
||||
@UiThread
|
||||
public static synchronized FileSource getInstance(@NonNull Context context) {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = new FileSource(getResourcesCachePath(context), context.getResources().getAssets());
|
||||
INSTANCE = new FileSource(getResourcesCachePath(context));
|
||||
}
|
||||
|
||||
return INSTANCE;
|
||||
@@ -366,8 +365,8 @@ public class FileSource {
|
||||
@Keep
|
||||
private long nativePtr;
|
||||
|
||||
private FileSource(String cachePath, AssetManager assetManager) {
|
||||
initialize(Mapbox.getAccessToken(), cachePath, assetManager);
|
||||
private FileSource(String cachePath) {
|
||||
initialize(Mapbox.getAccessToken(), cachePath);
|
||||
}
|
||||
|
||||
@Keep
|
||||
@@ -404,7 +403,7 @@ public class FileSource {
|
||||
private native void setResourceCachePath(String path, ResourcesCachePathChangeCallback callback);
|
||||
|
||||
@Keep
|
||||
private native void initialize(String accessToken, String cachePath, AssetManager assetManager);
|
||||
private native void initialize(String accessToken, String cachePath);
|
||||
|
||||
@Override
|
||||
@Keep
|
||||
|
||||
Reference in New Issue
Block a user