diff options
| -rw-r--r-- | core/java/android/view/ScaleGestureDetector.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java index 2f1c2b2dacf1..f991df7b637f 100644 --- a/core/java/android/view/ScaleGestureDetector.java +++ b/core/java/android/view/ScaleGestureDetector.java @@ -147,12 +147,9 @@ public class ScaleGestureDetector { public ScaleGestureDetector(Context context, OnScaleGestureListener listener) { ViewConfiguration config = ViewConfiguration.get(context); - DisplayMetrics metrics = context.getResources().getDisplayMetrics(); mContext = context; mListener = listener; mEdgeSlop = config.getScaledEdgeSlop(); - mRightSlopEdge = metrics.widthPixels - mEdgeSlop; - mBottomSlopEdge = metrics.heightPixels - mEdgeSlop; } public boolean onTouchEvent(MotionEvent event) { @@ -165,6 +162,11 @@ public class ScaleGestureDetector { event.getPointerCount() >= 2) { // We have a new multi-finger gesture + // as orientation can change, query the metrics in touch down + DisplayMetrics metrics = mContext.getResources().getDisplayMetrics(); + mRightSlopEdge = metrics.widthPixels - mEdgeSlop; + mBottomSlopEdge = metrics.heightPixels - mEdgeSlop; + // Be paranoid in case we missed an event reset(); |