Skip to content
This repository was archived by the owner on Aug 8, 2023. It is now read-only.

Prevent default style reload when string style json was set #11519

Merged
merged 1 commit into from
Mar 26, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ void initialise(@NonNull Context context, @NonNull MapboxMapOptions options) {
void onStart() {
nativeMapView.update();
trackingSettings.onStart();
if (TextUtils.isEmpty(nativeMapView.getStyleUrl())) {
if (TextUtils.isEmpty(nativeMapView.getStyleUrl()) && TextUtils.isEmpty(nativeMapView.getStyleJson())) {
// if user hasn't loaded a Style yet
nativeMapView.setStyleUrl(Style.MAPBOX_STREETS);
}
Expand Down Expand Up @@ -1882,7 +1882,6 @@ OnFpsChangedListener getOnFpsChangedListener() {
*
* @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
Expand All @@ -1895,7 +1894,6 @@ public void setOnScrollListener(@Nullable OnScrollListener listener) {
*
* @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);
Expand All @@ -1906,7 +1904,6 @@ public void addOnScrollListener(@Nullable OnScrollListener listener) {
*
* @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);
Expand All @@ -1917,7 +1914,6 @@ public void removeOnScrollListener(@Nullable OnScrollListener listener) {
*
* @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
Expand Down Expand Up @@ -1950,7 +1946,6 @@ public void removeOnFlingListener(@Nullable OnFlingListener listener) {
*
* @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
Expand Down Expand Up @@ -1983,7 +1978,6 @@ public void removeOnMapClickListener(@Nullable OnMapClickListener listener) {
*
* @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
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
package com.mapbox.mapboxsdk.testapp.style;


import android.support.test.espresso.UiController;

import com.mapbox.mapboxsdk.maps.MapView;
import com.mapbox.mapboxsdk.maps.MapboxMap;
import com.mapbox.mapboxsdk.testapp.R;
import com.mapbox.mapboxsdk.testapp.action.MapboxMapAction;
import com.mapbox.mapboxsdk.testapp.activity.BaseActivityTest;
import com.mapbox.mapboxsdk.testapp.activity.espresso.EspressoTestActivity;
import com.mapbox.mapboxsdk.testapp.utils.ResourceUtils;

import org.junit.Test;

import java.io.IOException;

import static com.mapbox.mapboxsdk.testapp.action.MapboxMapAction.invoke;
import static org.junit.Assert.assertEquals;

/**
* Tests around style loading
*/
public class StyleLoaderTest extends BaseActivityTest {


@Override
protected Class getActivityClass() {
return EspressoTestActivity.class;
}

@Test
public void testSetGetStyleJsonString() throws Exception {
validateTestSetup();
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
try {
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
mapboxMap.setStyleJson(expected);
String actual = mapboxMap.getStyleJson();
assertEquals("Style json should match", expected, actual);
} catch (IOException exception) {
exception.printStackTrace();
}
}
});
}

@Test
public void testDefaultStyleLoadWithActivityLifecycleChange() throws Exception {
validateTestSetup();
invoke(mapboxMap, new MapboxMapAction.OnInvokeActionListener() {
@Override
public void onInvokeAction(UiController uiController, MapboxMap mapboxMap) {
try {
String expected = ResourceUtils.readRawResource(rule.getActivity(), R.raw.local_style);
mapboxMap.setStyleJson(expected);

// fake activity stop/start
MapView mapView = (MapView) rule.getActivity().findViewById(R.id.mapView);
mapView.onPause();
mapView.onStop();

mapView.onStart();
mapView.onResume();

String actual = mapboxMap.getStyleJson();
assertEquals("Style URL should be empty", "", mapboxMap.getStyleUrl());
assertEquals("Style json should match", expected, actual);
} catch (IOException exception) {
exception.printStackTrace();
}
}
});
}
}