diff options
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 |
commit | 27b3323da944d7db47dcbd8342b8bb4fac2a06bb (patch) | |
tree | caf9067f8487aedf20da2ebdbbdb878afa10975f | |
parent | 90beb3820d272de5a77b3fe9995502ab8b464159 (diff) | |
download | qtlocation-mapboxgl-27b3323da944d7db47dcbd8342b8bb4fac2a06bb.tar.gz |
[android] - created MapSettings ViewModel
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), |