commit | aaf4ee69c60da461dc7a3ce8b4e8938b1723e7dc | [log] [tgz] |
---|---|---|
author | Sunny Goyal <sunnygoyal@google.com> | Thu Aug 06 23:14:32 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 06 23:14:32 2020 +0000 |
tree | 9e48468863e5fc26fc46b26759da5684f9cdde74 | |
parent | cc78964df035679a1e608d2f766477755f0f1955 [diff] | |
parent | 0581f5b05b13eaa19cf26e270fb619d1f62bb069 [diff] |
Fixing wrong velocity state when there are too few samples am: f58a2b9cd9 am: 0581f5b05b Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12317133 Change-Id: Ib54a52ee718609908144664ebc5c61bedf55d5ed
diff --git a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java index a5d4568..969fa50 100644 --- a/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java +++ b/quickstep/src/com/android/quickstep/util/MotionPauseDetector.java
@@ -358,18 +358,23 @@ if (count < 3) { // Too few samples - if (count == 2) { - int endPos = pointPos - 1; - if (endPos < 0) { - endPos += HISTORY_SIZE; + switch (count) { + case 2: { + int endPos = pointPos - 1; + if (endPos < 0) { + endPos += HISTORY_SIZE; + } + float denominator = eventTime - mHistoricTimes[endPos]; + if (denominator != 0) { + return (mHistoricPos[pointPos] - mHistoricPos[endPos]) / denominator; + } } - float denominator = eventTime - mHistoricTimes[endPos]; - if (denominator != 0) { - return (eventTime - mHistoricPos[endPos]) / denominator; - - } + // fall through + case 1: + return 0f; + default: + return null; } - return null; } float Sxx = sxi2 - sxi * sxi / count;