From 1f31de288faf933d8bc9fa35588a3bac712b245d Mon Sep 17 00:00:00 2001 From: Tobrun Date: Thu, 14 Jan 2016 12:54:08 +0100 Subject: [PATCH] [android] #3535 - improve disabling tracking modes --- .../com/mapbox/mapboxsdk/views/MapView.java | 36 +++++++++++++------ 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java index 7347f6ec0..5810e390f 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java @@ -3132,16 +3132,6 @@ public final class MapView extends FrameLayout { mZoomButtonsController.setVisible(true); } - // Disable tracking mode if a gesture occurs - try { - //noinspection ResourceType - setMyLocationTrackingMode(MyLocationTracking.TRACKING_NONE); - //noinspection ResourceType - setMyBearingTrackingMode(MyBearingTracking.NONE); - } catch (SecurityException ignore) { - // User did not accept location permissions - } - return true; } @@ -3294,6 +3284,9 @@ public final class MapView extends FrameLayout { return false; } + // reset tracking modes if gesture occurs + resetTrackingModes(); + // Fling the map float ease = 0.25f; @@ -3323,6 +3316,9 @@ public final class MapView extends FrameLayout { return false; } + // reset tracking modes if gesture occurs + resetTrackingModes(); + // Cancel any animation mNativeMapView.cancelTransitions(); @@ -3350,6 +3346,9 @@ public final class MapView extends FrameLayout { return false; } + // reset tracking modes if gesture occurs + resetTrackingModes(); + mBeginTime = detector.getEventTime(); return true; } @@ -3420,6 +3419,9 @@ public final class MapView extends FrameLayout { return false; } + // reset tracking modes if gesture occurs + resetTrackingModes(); + mBeginTime = detector.getEventTime(); return true; } @@ -3496,6 +3498,9 @@ public final class MapView extends FrameLayout { return false; } + // reset tracking modes if gesture occurs + resetTrackingModes(); + mBeginTime = detector.getEventTime(); return true; } @@ -4212,6 +4217,17 @@ public final class MapView extends FrameLayout { mOnMyBearingTrackingModeChangeListener = listener; } + private void resetTrackingModes(){ + try { + //noinspection ResourceType + setMyLocationTrackingMode(MyLocationTracking.TRACKING_NONE); + //noinspection ResourceType + setMyBearingTrackingMode(MyBearingTracking.NONE); + } catch (SecurityException ignore) { + // User did not accept location permissions + } + } + // // Compass //