summaryrefslogtreecommitdiff
path: root/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2016-12-08 14:37:01 +0100
committerGitHub <noreply@github.com>2016-12-08 14:37:01 +0100
commit7cf10ee524b39d3fbcd0414ed392c4deac8677b2 (patch)
treee3d2de3d6cdc89b7cec743efd9a4f9b4a165e640 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/widgets/MyLocationViewSettings.java
parent3d2dc471918a38610105509a73eda39d5112ce6b (diff)
downloadqtlocation-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.java29
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);
+ }
+ }
+
}