diff options
author | Pablo Guardiola <guardiola31337@gmail.com> | 2017-06-01 10:05:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-01 10:05:31 +0200 |
commit | 52eba423aecca51dd65c15d2d3dbffe2f06856ba (patch) | |
tree | d81e920e3fe48cf5b21f3ae03d97eca54fec8d91 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java | |
parent | af2547776acc0302d2fcfb45661198872348a980 (diff) | |
download | qtlocation-mapboxgl-52eba423aecca51dd65c15d2d3dbffe2f06856ba.tar.gz |
[android] Cherry picking 9133 (#9145)
* [android] Fix tracking mode + camera race condition (#9133)
* [android] fix tracking mode + camera race condition
* fix resetTrackingModesIfRequired bug (comparing current camera position with target camera position
* cherry pick #9133 and update CHANGELOG
* add null check to prevent null pointer exception
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java index af44a08a81..7f44e0de07 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/Transform.java @@ -94,7 +94,7 @@ final class Transform implements MapView.OnMapChangedListener { final void moveCamera(MapboxMap mapboxMap, CameraUpdate update, MapboxMap.CancelableCallback callback) { CameraPosition cameraPosition = update.getCameraPosition(mapboxMap); if (!cameraPosition.equals(this.cameraPosition)) { - trackingSettings.resetTrackingModesIfRequired(cameraPosition); + trackingSettings.resetTrackingModesIfRequired(this.cameraPosition, cameraPosition, false); cancelTransitions(); cameraChangeDispatcher.onCameraMoveStarted(OnCameraMoveStartedListener.REASON_API_ANIMATION); mapView.jumpTo(cameraPosition.bearing, cameraPosition.target, cameraPosition.tilt, cameraPosition.zoom); @@ -107,10 +107,10 @@ final class Transform implements MapView.OnMapChangedListener { @UiThread final void easeCamera(MapboxMap mapboxMap, CameraUpdate update, int durationMs, boolean easingInterpolator, - final MapboxMap.CancelableCallback callback) { + final MapboxMap.CancelableCallback callback, boolean isDismissable) { CameraPosition cameraPosition = update.getCameraPosition(mapboxMap); if (!cameraPosition.equals(this.cameraPosition)) { - trackingSettings.resetTrackingModesIfRequired(cameraPosition); + trackingSettings.resetTrackingModesIfRequired(this.cameraPosition, cameraPosition, isDismissable); cancelTransitions(); cameraChangeDispatcher.onCameraMoveStarted(OnCameraMoveStartedListener.REASON_API_ANIMATION); @@ -118,7 +118,6 @@ final class Transform implements MapView.OnMapChangedListener { cameraCancelableCallback = callback; mapView.addOnMapChangedListener(this); } - mapView.easeTo(cameraPosition.bearing, cameraPosition.target, durationMs, cameraPosition.tilt, cameraPosition.zoom, easingInterpolator); } @@ -129,7 +128,7 @@ final class Transform implements MapView.OnMapChangedListener { final MapboxMap.CancelableCallback callback) { CameraPosition cameraPosition = update.getCameraPosition(mapboxMap); if (!cameraPosition.equals(this.cameraPosition)) { - trackingSettings.resetTrackingModesIfRequired(cameraPosition); + trackingSettings.resetTrackingModesIfRequired(this.cameraPosition, cameraPosition, false); cancelTransitions(); cameraChangeDispatcher.onCameraMoveStarted(OnCameraMoveStartedListener.REASON_API_ANIMATION); |