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
This commit is contained in:
Sunny Goyal
2020-08-06 22:54:57 +00:00
committed by Automerger Merge Worker

View File

@@ -358,18 +358,23 @@ public class MotionPauseDetector {
if (count < 3) {
// Too few samples
if (count == 2) {
int endPos = pointPos - 1;
if (endPos < 0) {
endPos += HISTORY_SIZE;
}
float denominator = eventTime - mHistoricTimes[endPos];
if (denominator != 0) {
return (eventTime - mHistoricPos[endPos]) / denominator;
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;
}
}
// fall through
case 1:
return 0f;
default:
return null;
}
return null;
}
float Sxx = sxi2 - sxi * sxi / count;