summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorŁukasz Paczos <lukas.paczos@gmail.com>2018-02-26 16:28:33 +0100
committerŁukasz Paczos <lukas.paczos@gmail.com>2018-02-26 16:30:06 +0100
commit3ac43d5a48683f0ee150d6f2c72fc79aa04c33cd (patch)
tree32ebbaf69c78579a9fe65e81665844d8ea2da0ac
parent4fccc3bdb9eba902c936942de7a969d09ae05c2f (diff)
downloadqtlocation-mapboxgl-3ac43d5a48683f0ee150d6f2c72fc79aa04c33cd.tar.gz
[android] new gesture library - tweaked angular velocity calculations
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java25
1 files changed, 7 insertions, 18 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
index 073b70cd21..2aebba15fe 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapGestureDetector.java
@@ -652,26 +652,15 @@ final class MapGestureDetector {
return;
}
- long animationTime;
- if (angularVelocity != 0) {
- boolean negative = angularVelocity < 0;
- angularVelocity = Math.abs(angularVelocity);
- // TODO: 26.02.18 just go with x^2?
- if (angularVelocity > 0) {
- angularVelocity = angularVelocity * angularVelocity + 1;
- } else {
- angularVelocity = angularVelocity * 2 + 1;
- }
- angularVelocity = MathUtils.clamp(
- angularVelocity, MapboxConstants.MINIMUM_ANGULAR_VELOCITY, MapboxConstants.MAXIMUM_ANGULAR_VELOCITY);
+ boolean negative = angularVelocity < 0;
+ angularVelocity = (float) Math.pow(angularVelocity, 2);
+ angularVelocity = MathUtils.clamp(
+ angularVelocity, MapboxConstants.MINIMUM_ANGULAR_VELOCITY, MapboxConstants.MAXIMUM_ANGULAR_VELOCITY);
- animationTime = (long) (Math.log(angularVelocity + 1) * 500);
+ long animationTime = (long) (Math.log(angularVelocity + 1) * 500);
- if (negative) {
- angularVelocity = -angularVelocity;
- }
- } else {
- animationTime = 0;
+ if (negative) {
+ angularVelocity = -angularVelocity;
}
rotateAnimator = createRotateAnimator(angularVelocity, animationTime);