summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukasz.paczos@mapbox.com>2018-05-16 16:44:27 +0200
committerŁukasz Paczos <lukasz.paczos@mapbox.com>2018-05-22 20:27:37 +0200
commit27b3323da944d7db47dcbd8342b8bb4fac2a06bb (patch)
treecaf9067f8487aedf20da2ebdbbdb878afa10975f
parent90beb3820d272de5a77b3fe9995502ab8b464159 (diff)
downloadqtlocation-mapboxgl-27b3323da944d7db47dcbd8342b8bb4fac2a06bb.tar.gz
[android] - created MapSettings ViewModel
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java7
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapSettings.java122
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java38
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java100
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/WidgetUpdater.java10
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java1
7 files changed, 181 insertions, 107 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
index d8f1bb372c..2db83c7403 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/constants/MapboxConstants.java
@@ -116,11 +116,4 @@ public class MapboxConstants {
* Fragment Argument Key for MapboxMapOptions
*/
public static final String FRAG_ARG_MAPBOXMAPOPTIONS = "MapboxMapOptions";
-
- // Save instance state keys
- public static final String STATE_HAS_SAVED_STATE = "mapbox_savedState";
- public static final String STATE_CAMERA_POSITION = "mapbox_cameraPosition";
- public static final String STATE_DEBUG_ACTIVE = "mapbox_debugActive";
- public static final String STATE_STYLE_URL = "mapbox_styleUrl";
-
}
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapSettings.java
new file mode 100644
index 0000000000..8a64937bf4
--- /dev/null
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapSettings.java
@@ -0,0 +1,122 @@
+package com.mapbox.mapboxsdk.maps;
+
+import android.arch.lifecycle.MutableLiveData;
+import android.arch.lifecycle.ViewModel;
+import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+
+import com.mapbox.mapboxsdk.camera.CameraPosition;
+import com.mapbox.mapboxsdk.constants.Style;
+
+/**
+ * Internal class used to manage map settings.
+ */
+public final class MapSettings extends ViewModel {
+ private CameraPosition lastCameraPosition = CameraPosition.DEFAULT;
+ private MutableLiveData<Double> maxZoom = new MutableLiveData<>();
+ private MutableLiveData<Double> minZoom = new MutableLiveData<>();
+ private MutableLiveData<Boolean> isDebugMode = new MutableLiveData<>();
+ private MutableLiveData<Boolean> prefetchesTiles = new MutableLiveData<>();
+ private MutableLiveData<String> styleUrl = new MutableLiveData<>();
+ private MutableLiveData<String> apiBaseUrl = new MutableLiveData<>();
+
+ void initialiseOptions(@NonNull MapboxMapOptions options) {
+ setLastCameraPosition(options.getCamera());
+ setMinZoom(options.getMinZoomPreference());
+ setMaxZoom(options.getMaxZoomPreference());
+ setDebugMode(options.getDebugActive());
+ setPrefetchesTiles(options.getPrefetchesTiles());
+
+ String apiBaseUrl = options.getApiBaseUrl();
+ if (!TextUtils.isEmpty(apiBaseUrl)) {
+ setApiBaseUrl(apiBaseUrl);
+ }
+
+ String style = options.getStyle();
+ if (!TextUtils.isEmpty(style)) {
+ setStyleUrl(style);
+ } else {
+ setStyleUrl(Style.MAPBOX_STREETS);
+ }
+ }
+
+ @Nullable
+ public CameraPosition getLastCameraPosition() {
+ return lastCameraPosition;
+ }
+
+ public void setLastCameraPosition(@Nullable CameraPosition lastCameraPosition) {
+ this.lastCameraPosition = lastCameraPosition;
+ }
+
+ public double getMinZoom() {
+ return minZoom.getValue();
+ }
+
+ public MutableLiveData<Double> getMinZoomObservable() {
+ return minZoom;
+ }
+
+ public void setMinZoom(double minZoom) {
+ this.minZoom.setValue(minZoom);
+ }
+
+ public double getMaxZoom() {
+ return maxZoom.getValue();
+ }
+
+ public MutableLiveData<Double> getMaxZoomObservable() {
+ return maxZoom;
+ }
+
+ public void setMaxZoom(double maxZoom) {
+ this.maxZoom.setValue(maxZoom);
+ }
+
+ public MutableLiveData<Boolean> isDebugModeObservable() {
+ return isDebugMode;
+ }
+
+ public boolean isDebugMode() {
+ return isDebugMode.getValue();
+ }
+
+ public void setDebugMode(boolean isDebugMode) {
+ this.isDebugMode.setValue(isDebugMode);
+ }
+
+ public MutableLiveData<Boolean> getPrefetchesTilesObservable() {
+ return prefetchesTiles;
+ }
+
+ public boolean getPrefetchesTiles() {
+ return prefetchesTiles.getValue();
+ }
+
+ public void setPrefetchesTiles(boolean prefetchesTiles) {
+ this.prefetchesTiles.setValue(prefetchesTiles);
+ }
+
+ public MutableLiveData<String> getStyleUrlObservable() {
+ return styleUrl;
+ }
+
+ public String getStyleUrl() {
+ return styleUrl.getValue();
+ }
+
+ public void setStyleUrl(String styleUrl) {
+ if (!TextUtils.isEmpty(styleUrl)) {
+ this.styleUrl.setValue(styleUrl);
+ }
+ }
+
+ public MutableLiveData<String> getApiBaseUrlObservable() {
+ return apiBaseUrl;
+ }
+
+ public void setApiBaseUrl(String apiBaseUrl) {
+ this.apiBaseUrl.setValue(apiBaseUrl);
+ }
+}
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 6a2f292ad7..73fc023ee4 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
@@ -26,6 +26,7 @@ import android.view.ViewTreeObserver;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ZoomButtonsController;
+
import com.mapbox.android.gestures.AndroidGesturesManager;
import com.mapbox.android.telemetry.AppUserTurnstile;
import com.mapbox.android.telemetry.Event;
@@ -37,7 +38,6 @@ import com.mapbox.mapboxsdk.annotations.Annotation;
import com.mapbox.mapboxsdk.annotations.MarkerViewManager;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
-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;
@@ -50,8 +50,6 @@ import com.mapbox.mapboxsdk.offline.OfflineTilePyramidRegionDefinition;
import com.mapbox.mapboxsdk.storage.FileSource;
import com.mapbox.mapboxsdk.utils.BitmapUtils;
-import javax.microedition.khronos.egl.EGLConfig;
-import javax.microedition.khronos.opengles.GL10;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.ref.WeakReference;
@@ -60,6 +58,9 @@ import java.util.Iterator;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
+import javax.microedition.khronos.egl.EGLConfig;
+import javax.microedition.khronos.opengles.GL10;
+
import static com.mapbox.mapboxsdk.maps.widgets.CompassView.TIME_MAP_NORTH_ANIMATION;
import static com.mapbox.mapboxsdk.maps.widgets.CompassView.TIME_WAIT_IDLE;
@@ -89,13 +90,14 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
private boolean destroyed;
private boolean hasSurface;
+ private MapSettings mapSettings;
private UiSettings uiSettings;
+
private CompassView compassView;
private PointF focalPoint;
private ImageView attrView;
private AttributionClickListener attributionClickListener;
private ImageView logoView;
- private WidgetUpdater widgetUpdater;
private MapGestureDetector mapGestureDetector;
private MapKeyListener mapKeyListener;
@@ -142,7 +144,10 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
logoView = (ImageView) view.findViewById(R.id.logoView);
// create widget updater
- widgetUpdater = new WidgetUpdater(context, compassView, attrView, logoView);
+ WidgetUpdater widgetUpdater = new WidgetUpdater(context, compassView, attrView, logoView);
+ widgetUpdater.initialiseCompassObservableSettings(context);
+ widgetUpdater.initialiseAttributionObservableSettings(context);
+ widgetUpdater.initialiseLogoObservableSettings(context);
// add accessibility support
setContentDescription(context.getString(R.string.mapbox_mapActionDescription));
@@ -168,6 +173,8 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
uiSettings.initialiseProjection(proj);
uiSettings.getFocalPointObservable().observe((LifecycleOwner) context, point -> this.focalPoint = point);
+ mapSettings = ViewModelProviders.of((FragmentActivity) context).get(MapSettings.class);
+
LongSparseArray<Annotation> annotationsArray = new LongSparseArray<>();
MarkerViewManager markerViewManager = new MarkerViewManager((ViewGroup) findViewById(R.id.markerViewContainer));
IconManager iconManager = new IconManager(nativeMapView);
@@ -181,10 +188,11 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
Transform transform = new Transform(nativeMapView, annotationManager.getMarkerViewManager(),
cameraChangeDispatcher);
- mapboxMap = new MapboxMap(nativeMapView, transform, uiSettings, proj, registerTouchListener,
+ mapboxMap = new MapboxMap(nativeMapView, transform, uiSettings, mapSettings, proj, registerTouchListener,
annotationManager, cameraChangeDispatcher);
mapCallback.attachMapboxMap(mapboxMap);
+ mapboxMap.initialiseSettingsObservers(context);
// user input
mapGestureDetector = new MapGestureDetector(context, transform, proj, uiSettings,
@@ -217,7 +225,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
if (savedInstanceState == null) {
mapboxMap.initialise(context, mapboxMapOptions);
} else {
- mapboxMap.onRestoreInstanceState(savedInstanceState);
+ mapboxMap.onRestoreInstanceState();
}
}
@@ -272,6 +280,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
*/
@UiThread
public void onCreate(@Nullable Bundle savedInstanceState) {
+ this.savedInstanceState = savedInstanceState;
if (savedInstanceState == null) {
MapboxTelemetry telemetry = Telemetry.obtainTelemetry();
AppUserTurnstile turnstileEvent = new AppUserTurnstile(BuildConfig.MAPBOX_SDK_IDENTIFIER,
@@ -279,8 +288,6 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
telemetry.push(turnstileEvent);
MapEventFactory mapEventFactory = new MapEventFactory();
telemetry.push(mapEventFactory.createMapLoadEvent(Event.Type.MAP_LOAD));
- } else if (savedInstanceState.getBoolean(MapboxConstants.STATE_HAS_SAVED_STATE)) {
- this.savedInstanceState = savedInstanceState;
}
}
@@ -342,17 +349,14 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
}
/**
- * You must call this method from the parent's Activity#onSaveInstanceState(Bundle)
- * or Fragment#onSaveInstanceState(Bundle).
- *
* @param outState Pass in the parent's outState.
+ * @deprecated Mapbox Maps SDK for Android is using
+ * {@link android.arch.lifecycle.ViewModel} architecture to save state. No need to call this method.
*/
@UiThread
+ @Deprecated
public void onSaveInstanceState(@NonNull Bundle outState) {
- if (mapboxMap != null) {
- outState.putBoolean(MapboxConstants.STATE_HAS_SAVED_STATE, true);
- mapboxMap.onSaveInstanceState(outState);
- }
+ // do nothing
}
/**
@@ -539,7 +543,7 @@ public class MapView extends FrameLayout implements NativeMapView.ViewCallback {
mapboxMapOptions.styleUrl(url);
return;
}
- nativeMapView.setStyleUrl(url);
+ mapSettings.setStyleUrl(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 2474bc45fc..ee44bf4b82 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
@@ -1,10 +1,10 @@
package com.mapbox.mapboxsdk.maps;
+import android.arch.lifecycle.LifecycleOwner;
import android.content.Context;
import android.graphics.Bitmap;
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;
@@ -65,6 +65,7 @@ public final class MapboxMap {
private final NativeMapView nativeMapView;
+ private MapSettings mapSettings;
private final UiSettings uiSettings;
private final Projection projection;
private final Transform transform;
@@ -75,11 +76,12 @@ public final class MapboxMap {
private MapboxMap.OnFpsChangedListener onFpsChangedListener;
- MapboxMap(NativeMapView map, Transform transform, UiSettings ui, Projection projection,
- OnGesturesManagerInteractionListener listener, AnnotationManager annotations,
+ MapboxMap(NativeMapView map, Transform transform, UiSettings uiSettings, MapSettings mapSettings,
+ Projection projection, OnGesturesManagerInteractionListener listener, AnnotationManager annotations,
CameraChangeDispatcher cameraChangeDispatcher) {
this.nativeMapView = map;
- this.uiSettings = ui;
+ this.uiSettings = uiSettings;
+ this.mapSettings = mapSettings;
this.projection = projection;
this.annotationManager = annotations.bind(this);
this.transform = transform;
@@ -88,14 +90,20 @@ public final class MapboxMap {
}
void initialise(@NonNull Context context, @NonNull MapboxMapOptions options) {
- transform.initialise(this, options);
+ mapSettings.initialiseOptions(options);
uiSettings.initialiseOptions(context, options);
- // Map configuration
- setDebugActive(options.getDebugActive());
- setApiBaseUrl(options);
- setStyleUrl(options);
- setPrefetchesTiles(options);
+ initialiseCameraPosition();
+ }
+
+ void initialiseSettingsObservers(@NonNull Context context) {
+ LifecycleOwner lifecycleOwner = (LifecycleOwner) context;
+ mapSettings.getMinZoomObservable().observe(lifecycleOwner, transform::setMinZoom);
+ mapSettings.getMaxZoomObservable().observe(lifecycleOwner, transform::setMaxZoom);
+ mapSettings.isDebugModeObservable().observe(lifecycleOwner, nativeMapView::setDebug);
+ mapSettings.getPrefetchesTilesObservable().observe(lifecycleOwner, nativeMapView::setPrefetchesTiles);
+ mapSettings.getApiBaseUrlObservable().observe(lifecycleOwner, nativeMapView::setApiBaseUrl);
+ mapSettings.getStyleUrlObservable().observe(lifecycleOwner, nativeMapView::setStyleUrl);
}
/**
@@ -103,10 +111,6 @@ public final class MapboxMap {
*/
void onStart() {
nativeMapView.update();
- if (TextUtils.isEmpty(nativeMapView.getStyleUrl()) && TextUtils.isEmpty(nativeMapView.getStyleJson())) {
- // if user hasn't loaded a Style yet
- nativeMapView.setStyleUrl(Style.MAPBOX_STREETS);
- }
}
/**
@@ -114,38 +118,21 @@ public final class MapboxMap {
*/
void onStop() {
}
-// TODO: 15.05.18 cleanup mapbx map save state
- /**
- * Called when the hosting Activity/Fragment is going to be destroyed and map state needs to be saved.
- *
- * @param outState the bundle to save the state to.
- */
- void onSaveInstanceState(@NonNull Bundle outState) {
- outState.putParcelable(MapboxConstants.STATE_CAMERA_POSITION, transform.getCameraPosition());
- outState.putBoolean(MapboxConstants.STATE_DEBUG_ACTIVE, nativeMapView.getDebug());
- outState.putString(MapboxConstants.STATE_STYLE_URL, nativeMapView.getStyleUrl());
- }
/**
* Called when the hosting Activity/Fragment is recreated and map state needs to be restored.
- *
- * @param savedInstanceState the bundle containing the saved state
*/
- void onRestoreInstanceState(@NonNull Bundle savedInstanceState) {
- final CameraPosition cameraPosition = savedInstanceState.getParcelable(MapboxConstants.STATE_CAMERA_POSITION);
+ void onRestoreInstanceState() {
+ initialiseCameraPosition();
+ }
+ private void initialiseCameraPosition() {
+ final CameraPosition cameraPosition = mapSettings.getLastCameraPosition();
if (cameraPosition != null) {
moveCamera(CameraUpdateFactory.newCameraPosition(
new CameraPosition.Builder(cameraPosition).build())
);
}
-
- nativeMapView.setDebug(savedInstanceState.getBoolean(MapboxConstants.STATE_DEBUG_ACTIVE));
-
- final String styleUrl = savedInstanceState.getString(MapboxConstants.STATE_STYLE_URL);
- if (!TextUtils.isEmpty(styleUrl)) {
- nativeMapView.setStyleUrl(savedInstanceState.getString(MapboxConstants.STATE_STYLE_URL));
- }
}
/**
@@ -180,6 +167,7 @@ public final class MapboxMap {
*/
void onUpdateFullyRendered() {
CameraPosition cameraPosition = transform.invalidateCameraPosition();
+ mapSettings.setLastCameraPosition(cameraPosition);
if (cameraPosition != null) {
uiSettings.updateCompass(cameraPosition);
}
@@ -230,22 +218,13 @@ public final class MapboxMap {
}
/**
- * Sets tile pre-fetching from MapboxOptions.
- *
- * @param options the options object
- */
- private void setPrefetchesTiles(@NonNull MapboxMapOptions options) {
- setPrefetchesTiles(options.getPrefetchesTiles());
- }
-
- /**
* Enable or disable tile pre-fetching. Pre-fetching makes sure that a low-resolution
* tile is rendered as soon as possible at the expense of a little bandwidth.
*
* @param enable true to enable
*/
public void setPrefetchesTiles(boolean enable) {
- nativeMapView.setPrefetchesTiles(enable);
+ mapSettings.setPrefetchesTiles(enable);
}
/**
@@ -255,7 +234,7 @@ public final class MapboxMap {
* @see MapboxMap#setPrefetchesTiles(boolean)
*/
public boolean getPrefetchesTiles() {
- return nativeMapView.getPrefetchesTiles();
+ return mapSettings.getPrefetchesTiles();
}
/**
@@ -484,7 +463,7 @@ public final class MapboxMap {
*/
public void setMinZoomPreference(
@FloatRange(from = MapboxConstants.MINIMUM_ZOOM, to = MapboxConstants.MAXIMUM_ZOOM) double minZoom) {
- transform.setMinZoom(minZoom);
+ mapSettings.setMinZoom(minZoom);
}
/**
@@ -495,7 +474,7 @@ public final class MapboxMap {
* @return The minimum zoom level.
*/
public double getMinZoomLevel() {
- return transform.getMinZoom();
+ return mapSettings.getMinZoom();
}
//
@@ -514,7 +493,7 @@ public final class MapboxMap {
*/
public void setMaxZoomPreference(@FloatRange(from = MapboxConstants.MINIMUM_ZOOM,
to = MapboxConstants.MAXIMUM_ZOOM) double maxZoom) {
- transform.setMaxZoom(maxZoom);
+ mapSettings.setMaxZoom(maxZoom);
}
/**
@@ -525,7 +504,7 @@ public final class MapboxMap {
* @return The maximum zoom level.
*/
public double getMaxZoomLevel() {
- return transform.getMaxZoom();
+ return mapSettings.getMaxZoom();
}
//
@@ -882,7 +861,7 @@ public final class MapboxMap {
* @return If true, map debug information is currently shown.
*/
public boolean isDebugActive() {
- return nativeMapView.getDebug();
+ return mapSettings.isDebugMode();
}
/**
@@ -894,7 +873,7 @@ public final class MapboxMap {
* @param debugActive If true, map debug information is shown.
*/
public void setDebugActive(boolean debugActive) {
- nativeMapView.setDebug(debugActive);
+ mapSettings.setDebugMode(debugActive);
}
/**
@@ -907,18 +886,7 @@ public final class MapboxMap {
* @see #isDebugActive()
*/
public void cycleDebugOptions() {
- nativeMapView.cycleDebugOptions();
- }
-
- //
- // API endpoint config
- //
-
- private void setApiBaseUrl(@NonNull MapboxMapOptions options) {
- String apiBaseUrl = options.getApiBaseUrl();
- if (!TextUtils.isEmpty(apiBaseUrl)) {
- nativeMapView.setApiBaseUrl(apiBaseUrl);
- }
+ mapSettings.setDebugMode(!mapSettings.isDebugMode());
}
//
@@ -999,7 +967,7 @@ public final class MapboxMap {
}
});
}
- nativeMapView.setStyleUrl(url);
+ mapSettings.setStyleUrl(url);
}
/**
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
index f76e54984b..aa3676ae9d 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java
@@ -9,7 +9,6 @@ import android.support.annotation.UiThread;
import com.mapbox.mapboxsdk.annotations.MarkerViewManager;
import com.mapbox.mapboxsdk.camera.CameraPosition;
import com.mapbox.mapboxsdk.camera.CameraUpdate;
-import com.mapbox.mapboxsdk.camera.CameraUpdateFactory;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.geometry.LatLng;
@@ -45,15 +44,6 @@ final class Transform implements MapView.OnMapChangedListener {
this.cameraChangeDispatcher = cameraChangeDispatcher;
}
- void initialise(@NonNull MapboxMap mapboxMap, @NonNull MapboxMapOptions options) {
- CameraPosition position = options.getCamera();
- if (position != null && !position.equals(CameraPosition.DEFAULT)) {
- moveCamera(mapboxMap, CameraUpdateFactory.newCameraPosition(position), null);
- }
- setMinZoom(options.getMinZoomPreference());
- setMaxZoom(options.getMaxZoomPreference());
- }
-
//
// Camera API
//
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/WidgetUpdater.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/WidgetUpdater.java
index 799d90fcf2..26b34e4bb9 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/WidgetUpdater.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/WidgetUpdater.java
@@ -30,14 +30,10 @@ public final class WidgetUpdater {
this.compassView = compassView;
this.attributionView = attributionView;
this.logoView = logoView;
-
uiSettings = ViewModelProviders.of((FragmentActivity) context).get(UiSettings.class);
- initialiseCompassObservableSettings(context);
- initialiseAttributionObservableSettings(context);
- initialiseLogoObservableSettings(context);
}
- private void initialiseCompassObservableSettings(Context context) {
+ public void initialiseCompassObservableSettings(Context context) {
LifecycleOwner lifecycleOwner = (LifecycleOwner) context;
// gravity
@@ -62,7 +58,7 @@ public final class WidgetUpdater {
uiSettings.getCompassRotationObservable().observe(lifecycleOwner, compassView::updateBearing);
}
- private void initialiseAttributionObservableSettings(Context context) {
+ public void initialiseAttributionObservableSettings(Context context) {
LifecycleOwner lifecycleOwner = (LifecycleOwner) context;
// gravity
@@ -89,7 +85,7 @@ public final class WidgetUpdater {
ViewUtils.setViewMargins(attributionView, margins[0], margins[1], margins[2], margins[3]));
}
- private void initialiseLogoObservableSettings(Context context) {
+ public void initialiseLogoObservableSettings(Context context) {
LifecycleOwner lifecycleOwner = (LifecycleOwner) context;
// gravity
diff --git a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
index 9a323a1d75..a1b5a90a7a 100644
--- a/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
+++ b/platform/android/MapboxGLAndroidSDK/src/test/java/com/mapbox/mapboxsdk/maps/MapboxMapTest.java
@@ -19,6 +19,7 @@ public class MapboxMapTest {
mapboxMap = new MapboxMap(mock(NativeMapView.class),
mock(Transform.class),
mock(UiSettings.class),
+ mock(MapSettings.class),
mock(Projection.class),
mock(MapboxMap.OnGesturesManagerInteractionListener.class),
mock(AnnotationManager.class),