Bug 1292034 - Make the StackScroller flywheel detection code more robust to real user behaviour when flinging. r=rbarker

MozReview-Commit-ID: 6OBCkd9bwRt
This commit is contained in:
Kartikaya Gupta 2016-10-07 17:44:18 -04:00
Родитель a4e557a57b
Коммит b34e078007
1 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -261,9 +261,14 @@ public class StackScroller {
if (mFlywheel && !isFinished()) {
float oldVelocityX = mScrollerX.mCurrVelocity;
float oldVelocityY = mScrollerY.mCurrVelocity;
if (Math.signum(velocityX) == Math.signum(oldVelocityX)
&& Math.signum(velocityY) == Math.signum(oldVelocityY)) {
boolean sameXDirection = (velocityX == 0) || (oldVelocityX == 0) ||
((velocityX < 0) == (oldVelocityX < 0));
boolean sameYDirection = (velocityY == 0) || (oldVelocityY == 0) ||
((velocityY < 0) == (oldVelocityY < 0));
if (sameXDirection) {
velocityX += oldVelocityX;
}
if (sameYDirection) {
velocityY += oldVelocityY;
}
}