summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lucas Dupin <dupin@google.com> 2019-05-20 19:10:22 -0700
committer Lucas Dupin <dupin@google.com> 2019-05-20 19:19:45 -0700
commitabb18f4cd9a8b16c2d10a9e65ecbb73122b23be2 (patch)
tree8ac145c5aa1073967f5dfb7304aecf5213fef09d
parentf36fee3cf764838aa8b1f59142e82049e4cbacb1 (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.java10
-rw-r--r--packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java4
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;