[android] invalidate camera mode in LocationComponent for gestures initiated changes only if necessary

This commit is contained in:
Łukasz Paczos
2018-09-20 13:50:47 +02:00
committed by Łukasz Paczos
parent d2661fc298
commit ba06161b27
2 changed files with 64 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ package com.mapbox.mapboxsdk.location;
import android.content.Context;
import android.graphics.PointF;
import android.support.annotation.NonNull;
import android.support.annotation.VisibleForTesting;
import android.view.MotionEvent;
import com.mapbox.android.gestures.AndroidGesturesManager;
@@ -186,7 +187,8 @@ final class LocationCameraController implements MapboxAnimator.OnCameraAnimation
}
}
private MapboxMap.OnMoveListener onMoveListener = new MapboxMap.OnMoveListener() {
@VisibleForTesting
MapboxMap.OnMoveListener onMoveListener = new MapboxMap.OnMoveListener() {
private boolean interrupt;
@Override
@@ -208,7 +210,11 @@ final class LocationCameraController implements MapboxAnimator.OnCameraAnimation
detector.interrupt();
return;
}
setCameraMode(CameraMode.NONE);
if (isLocationTracking() || isBearingTracking()) {
setCameraMode(CameraMode.NONE);
detector.interrupt();
}
}
@Override