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/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java | |
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/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java index d8450ff451..5ff97b3af0 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java @@ -1,11 +1,13 @@ package com.mapbox.mapboxsdk.maps.widgets; +import android.graphics.PointF; import android.graphics.drawable.Drawable; import android.support.annotation.ColorInt; import android.support.annotation.IntRange; +import com.mapbox.mapboxsdk.constants.MyLocationTracking; +import com.mapbox.mapboxsdk.maps.FocalPointChangeListener; import com.mapbox.mapboxsdk.maps.Projection; -import com.mapbox.mapboxsdk.maps.TrackingSettings; /** * Settings to configure the visual appearance of the MyLocationView. @@ -13,8 +15,8 @@ import com.mapbox.mapboxsdk.maps.TrackingSettings; public class MyLocationViewSettings { private Projection projection; - private TrackingSettings trackingSettings; private MyLocationView myLocationView; + private FocalPointChangeListener focalPointChangeListener; // // State @@ -59,15 +61,17 @@ public class MyLocationViewSettings { /** * Creates an instance of MyLocationViewSettings + * <p> * - * @param projection the MapView projection - * @param myLocationView the MyLocationView to apply the settings to + * @param myLocationView the MyLocationView to apply the settings to + * @param projection the MapView projection + * @param focalPointChangedListener the interface to be invoked when focal points changes * @see MyLocationView */ - public MyLocationViewSettings(Projection projection, MyLocationView myLocationView, TrackingSettings trackingSettings) { - this.projection = projection; + public MyLocationViewSettings(MyLocationView myLocationView, Projection projection, FocalPointChangeListener focalPointChangedListener) { this.myLocationView = myLocationView; - this.trackingSettings = trackingSettings; + this.projection = projection; + this.focalPointChangeListener = focalPointChangedListener; } /** @@ -212,7 +216,7 @@ public class MyLocationViewSettings { padding = new int[]{left, top, right, bottom}; myLocationView.setContentPadding(padding); projection.invalidateContentPadding(padding); - trackingSettings.invalidateFocalPointForTracking(myLocationView); + invalidateFocalPointForTracking(myLocationView); } /** @@ -265,4 +269,13 @@ public class MyLocationViewSettings { public void setTilt(double tilt) { myLocationView.setTilt(tilt); } + + private void invalidateFocalPointForTracking(MyLocationView myLocationView) { + if (!(myLocationView.getMyLocationTrackingMode() == MyLocationTracking.TRACKING_NONE)) { + focalPointChangeListener.onFocalPointChanged(new PointF(myLocationView.getCenterX(), myLocationView.getCenterY())); + } else { + focalPointChangeListener.onFocalPointChanged(null); + } + } + } |