diff options
author | Łukasz Paczos <lukasz.paczos@mapbox.com> | 2018-01-15 13:47:06 +0100 |
---|---|---|
committer | Tobrun <tobrun@mapbox.com> | 2018-01-23 12:09:48 +0100 |
commit | c3068ec3975c0c13486c5a456cc9ae26baf4f755 (patch) | |
tree | c463e956896a17194085123fb2c052f3ee3d147f /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java | |
parent | 06f3f8fddb574dec0b498dfa696a7b639596e9c2 (diff) | |
download | qtlocation-mapboxgl-c3068ec3975c0c13486c5a456cc9ae26baf4f755.tar.gz |
Camera callbacks for velocity animated movements (#10925)
* [android] camera listeners double invocation fix
* [android] invoking camera change callbacks for velocity animated movements
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java index 605c8912e2..e558a5d707 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/CameraChangeDispatcher.java @@ -34,6 +34,11 @@ class CameraChangeDispatcher implements MapboxMap.OnCameraMoveStartedListener, M private final Runnable onCameraMoveStartedRunnable = new Runnable() { @Override public void run() { + if (!idle) { + return; + } + idle = false; + // deprecated API if (onCameraMoveStartedListener != null) { onCameraMoveStartedListener.onCameraMoveStarted(moveStartedReason); @@ -85,6 +90,11 @@ class CameraChangeDispatcher implements MapboxMap.OnCameraMoveStartedListener, M private final Runnable onCameraIdleRunnable = new Runnable() { @Override public void run() { + if (idle) { + return; + } + idle = true; + // deprecated API if (onCameraIdleListener != null) { onCameraIdleListener.onCameraIdle(); @@ -121,10 +131,6 @@ class CameraChangeDispatcher implements MapboxMap.OnCameraMoveStartedListener, M @Override public void onCameraMoveStarted(final int reason) { - if (!idle) { - return; - } - idle = false; moveStartedReason = reason; handler.post(onCameraMoveStartedRunnable); } @@ -141,10 +147,7 @@ class CameraChangeDispatcher implements MapboxMap.OnCameraMoveStartedListener, M @Override public void onCameraIdle() { - if (!idle) { - idle = true; - handler.post(onCameraIdleRunnable); - } + handler.post(onCameraIdleRunnable); } void addOnCameraIdleListener(@NonNull OnCameraIdleListener listener) { |