Fix for unexpected scale factors in ScaleGestureDetector

Provided by levischmidt@google.com

Test: cts: atest ScaleGestureDetector
Fixes: 122328202
Change-Id: Ie229c39f65e4ac72a3f8e22317633f648f7fa008
This commit is contained in:
Adam Powell
2019-04-10 14:13:52 -07:00
parent 5e05627687
commit dafee65f21

View File

@@ -551,7 +551,7 @@ public class ScaleGestureDetector {
(mEventBeforeOrAboveStartingGestureEvent && (mCurrSpan < mPrevSpan)) ||
(!mEventBeforeOrAboveStartingGestureEvent && (mCurrSpan > mPrevSpan));
final float spanDiff = (Math.abs(1 - (mCurrSpan / mPrevSpan)) * SCALE_FACTOR);
return mPrevSpan <= 0 ? 1 : scaleUp ? (1 + spanDiff) : (1 - spanDiff);
return mPrevSpan <= mSpanSlop ? 1 : scaleUp ? (1 + spanDiff) : (1 - spanDiff);
}
return mPrevSpan > 0 ? mCurrSpan / mPrevSpan : 1;
}