diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java
index 7d896809de646..fa0313949e01c 100644
--- a/core/java/android/view/ScaleGestureDetector.java
+++ b/core/java/android/view/ScaleGestureDetector.java
@@ -213,8 +213,7 @@ public class ScaleGestureDetector {
for (int i = 0; i < count; i++) {
if (skipIndex == i) continue;
- // touchMajor/Minor are axes of an ellipse; average them together and
- // convert the resulting 'diameter' into a radius.
+ // Average touch major and touch minor and convert the resulting diameter into a radius.
final float touchSize = (event.getTouchMajor(i) + event.getTouchMinor(i)) / 4;
devSumX += Math.abs(event.getX(i) - focusX) + touchSize;
devSumY += Math.abs(event.getY(i) - focusY) + touchSize;
@@ -245,7 +244,7 @@ public class ScaleGestureDetector {
mPrevSpanY = mCurrSpanY = spanY;
mInitialSpan = mPrevSpan = mCurrSpan = span;
}
- if (!mInProgress && span > mMinSpan &&
+ if (!mInProgress && span >= mMinSpan &&
(wasInProgress || Math.abs(span - mInitialSpan) > mSpanSlop)) {
mPrevSpanX = mCurrSpanX = spanX;
mPrevSpanY = mCurrSpanY = spanY;
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index c97c2140704ae..93d7fcc4cdfdf 100755
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -927,8 +927,14 @@
1
+ bucket should consider tuning this value in a device-specific overlay.
+ For best results, care should be taken such that this value remains
+ larger than the minimum reported touchMajor/touchMinor values
+ reported by the hardware. -->
25mm