OSDN Git Service

Keyguard sliding challenge - fix overeager touch interception
authorAdam Powell <adamp@google.com>
Thu, 1 Nov 2012 20:46:17 +0000 (13:46 -0700)
committerAdam Powell <adamp@google.com>
Thu, 1 Nov 2012 20:47:02 +0000 (13:47 -0700)
Bug 7458287

Change-Id: I31f196539eecab1df5835e8ac1a76d9732a332fe

policy/src/com/android/internal/policy/impl/keyguard/SlidingChallengeLayout.java

index 9079341..6156143 100644 (file)
@@ -581,11 +581,11 @@ public class SlidingChallengeLayout extends ViewGroup implements ChallengeLayout
                     final float x = ev.getX(i);
                     final float y = ev.getY(i);
                     if (!mIsBouncing && mActivePointerId == INVALID_POINTER
-                            && ((isInDragHandle(x, y) && MathUtils.sq(x - mGestureStartX)
-                                    + MathUtils.sq(y - mGestureStartY) > mTouchSlopSquare)
-                               || crossedDragHandle(x, y, mGestureStartY)
-                               || (isInChallengeView(x, y) && (mScrollState == SCROLL_STATE_SETTLING
-                                       || !mChallengeShowing)))) {
+                                && ((isInDragHandle(x, y) && MathUtils.sq(x - mGestureStartX)
+                                        + MathUtils.sq(y - mGestureStartY) > mTouchSlopSquare)
+                                || crossedDragHandle(x, y, mGestureStartY)
+                                || (isInChallengeView(x, y) &&
+                                       mScrollState == SCROLL_STATE_SETTLING))) {
                         mActivePointerId = ev.getPointerId(i);
                         mGestureStartX = x;
                         mGestureStartY = y;