diff options
author | Tobrun <tobrun.van.nuland@gmail.com> | 2016-12-08 14:37:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-08 14:37:01 +0100 |
commit | 7cf10ee524b39d3fbcd0414ed392c4deac8677b2 (patch) | |
tree | e3d2de3d6cdc89b7cec743efd9a4f9b4a165e640 /platform/android/MapboxGLAndroidSDKTestApp/src | |
parent | 3d2dc471918a38610105509a73eda39d5112ce6b (diff) | |
download | qtlocation-mapboxgl-7cf10ee524b39d3fbcd0414ed392c4deac8677b2.tar.gz |
[android] - remove location enabled flag from MapboxMap (#7308)
* [android] - remove location enabled flag from MapboxMap, decouple TrackingSettings from MyLocationViewSettings using a FocalPointChangeListener interface, Move state related to tracking modes to MyLocationView (shared object between MyLocationViewSettings and FocalPointChangeListener).
* fixup tests
Diffstat (limited to 'platform/android/MapboxGLAndroidSDKTestApp/src')
2 files changed, 27 insertions, 16 deletions
diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/TrackingSettingsTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/TrackingSettingsTest.java index 21a05d2201..96c2c57084 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/TrackingSettingsTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/TrackingSettingsTest.java @@ -1,5 +1,9 @@ package com.mapbox.mapboxsdk.maps; +import android.Manifest; +import android.content.Context; +import android.content.pm.PackageManager; + import com.mapbox.mapboxsdk.constants.MyBearingTracking; import com.mapbox.mapboxsdk.constants.MyLocationTracking; import com.mapbox.mapboxsdk.maps.widgets.MyLocationView; @@ -11,7 +15,11 @@ import org.mockito.InjectMocks; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; public class TrackingSettingsTest { @@ -27,7 +35,7 @@ public class TrackingSettingsTest { private TrackingSettings trackingSettings; @Before - public void beforeTest(){ + public void beforeTest() { trackingSettings = new TrackingSettings(myLocationView, uiSettings, focalPointChangeListener); } @@ -35,19 +43,7 @@ public class TrackingSettingsTest { public void testSanity() { assertNotNull("trackingsettings should not be null", trackingSettings); } - - @Test - public void testMyLocationTrackingMode() { - trackingSettings.setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW); - assertEquals("MyLocationTrackingMode should match", MyLocationTracking.TRACKING_FOLLOW, trackingSettings.getMyLocationTrackingMode()); - } - - @Test - public void testMyBearingTrackingMode() { - trackingSettings.setMyBearingTrackingMode(MyBearingTracking.COMPASS); - assertEquals("MyLocationTrackingMode should match", MyBearingTracking.COMPASS, trackingSettings.getMyBearingTrackingMode()); - } - + @Test public void testDismissTrackingModesOnGesture() { trackingSettings.setDismissTrackingOnGesture(false); @@ -60,4 +56,16 @@ public class TrackingSettingsTest { trackingSettings.setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW); assertFalse("DismissTrackingOnGesture should be false", trackingSettings.isDismissTrackingOnGesture()); } + + @Test + public void testMyLocationEnabled() { + // setup mock context to provide accepted location permission + Context context = mock(Context.class); + when(myLocationView.getContext()).thenReturn(context); + when(context.checkPermission(eq(Manifest.permission.ACCESS_COARSE_LOCATION), anyInt(), anyInt())).thenReturn(PackageManager.PERMISSION_GRANTED); + + assertFalse("Location should be disabled by default.", trackingSettings.isMyLocationEnabled()); + trackingSettings.setMyLocationEnabled(true); + assertTrue("Location should be enabled", trackingSettings.isMyLocationEnabled()); + } } diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettingsTest.java b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettingsTest.java index 550040338f..a13b030dcf 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettingsTest.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/test/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettingsTest.java @@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.maps.widgets; import android.graphics.Color; import android.graphics.drawable.Drawable; +import com.mapbox.mapboxsdk.maps.FocalPointChangeListener; import com.mapbox.mapboxsdk.maps.Projection; import com.mapbox.mapboxsdk.maps.TrackingSettings; @@ -30,11 +31,14 @@ public class MyLocationViewSettingsTest { @InjectMocks TrackingSettings trackingSettings = mock(TrackingSettings.class); + @InjectMocks + FocalPointChangeListener focalPointChangeListener = mock(FocalPointChangeListener.class); + private MyLocationViewSettings locationViewSettings; @Before public void beforeTest() { - locationViewSettings = new MyLocationViewSettings(projection, myLocationView, trackingSettings); + locationViewSettings = new MyLocationViewSettings(myLocationView, projection, focalPointChangeListener); } @Test @@ -83,6 +87,5 @@ public class MyLocationViewSettingsTest { locationViewSettings.setEnabled(true); assertTrue("state should be true", locationViewSettings.isEnabled()); } - } |