commit | 0581f5b05b13eaa19cf26e270fb619d1f62bb069 | [log] [tgz] |
---|---|---|
author | Sunny Goyal <sunnygoyal@google.com> | Thu Aug 06 22:54:57 2020 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Thu Aug 06 22:54:57 2020 +0000 |
tree | 1b12364667cac5e4a0aa33b36615f8dc103b24c6 | |
parent | 330113561e9dc092499fe06c47b1bf140e04ad93 [diff] | |
parent | f58a2b9cd982a6a761deaa05b3d3e9802df040c3 [diff] |
Fixing wrong velocity state when there are too few samples am: f58a2b9cd9 Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/12317133 Change-Id: Id9c756552c08d7690b99987dafadc13448a0c236
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;