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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user