diff options
| author | 2019-05-20 19:10:22 -0700 | |
|---|---|---|
| committer | 2019-05-20 19:19:45 -0700 | |
| commit | abb18f4cd9a8b16c2d10a9e65ecbb73122b23be2 (patch) | |
| tree | 8ac145c5aa1073967f5dfb7304aecf5213fef09d | |
| parent | f36fee3cf764838aa8b1f59142e82049e4cbacb1 (diff) | |
Bouncer retry polish
Fixes: 133192281
Test: manually drag pattern and pin areas
Change-Id: I2746badd64350416fd4c62b717a098a2fc1ce136
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java | 10 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java index 0e91e4109ec0..d8086da277f2 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardPatternView.java @@ -64,6 +64,9 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit // How much we scale up the duration of the disappear animation when the current user is locked public static final float DISAPPEAR_MULTIPLIER_LOCKED = 1.5f; + // Extra padding, in pixels, that should eat touch events. + private static final int PATTERNS_TOUCH_AREA_EXTENSION = 40; + private final KeyguardUpdateMonitor mKeyguardUpdateMonitor; private final AppearAnimationUtils mAppearAnimationUtils; private final DisappearAnimationUtils mDisappearAnimationUtils; @@ -204,9 +207,10 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); mLockPatternView.getLocationOnScreen(mTmpPosition); - mLockPatternScreenBounds.set(mTmpPosition[0], mTmpPosition[1], - mTmpPosition[0] + mLockPatternView.getWidth(), - mTmpPosition[1] + mLockPatternView.getHeight()); + mLockPatternScreenBounds.set(mTmpPosition[0] - PATTERNS_TOUCH_AREA_EXTENSION, + mTmpPosition[1] - PATTERNS_TOUCH_AREA_EXTENSION, + mTmpPosition[0] + mLockPatternView.getWidth() + PATTERNS_TOUCH_AREA_EXTENSION, + mTmpPosition[1] + mLockPatternView.getHeight() + PATTERNS_TOUCH_AREA_EXTENSION); } @Override diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java index 0914fb8330be..6cd971d25610 100644 --- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java +++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java @@ -71,6 +71,8 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe private static final float TOUCH_Y_MULTIPLIER = 0.25f; // How much you need to drag the bouncer to trigger an auth retry (in dps.) private static final float MIN_DRAG_SIZE = 10; + // How much to scale the default slop by, to avoid accidental drags. + private static final float SLOP_SCALE = 2f; private KeyguardSecurityModel mSecurityModel; private LockPatternUtils mLockPatternUtils; @@ -179,7 +181,7 @@ public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSe return false; } int index = event.findPointerIndex(mActivePointerId); - int touchSlop = mViewConfiguration.getScaledTouchSlop(); + float touchSlop = mViewConfiguration.getScaledTouchSlop() * SLOP_SCALE; if (mCurrentSecurityView != null && index != -1 && mStartTouchY - event.getY(index) > touchSlop) { mIsDragging = true; |