From 10ec878b8cf809cdbfac50a5dd7a7dd2e5f42164 Mon Sep 17 00:00:00 2001 From: Dave Mankoff Date: Tue, 18 Feb 2020 10:42:04 -0500 Subject: [PATCH] Decrease fling sensitivity for vertical falsing. This CL should reduce falsing for vertical swipes (quick settings especially) by increasing the required travel distance and decreasing the fling sensitivity for vertical swipes on the lock screen. Manual testing with folks around the office show minimal actual impact, but smaller, quick swipes are now rejected. Bug: 148084465 Test: atest SystemUITests Change-Id: Ie984765bd070696e4f1c471343824a7cb9fe63f6 --- .../systemui/classifier/brightline/DistanceClassifier.java | 4 ++-- .../systemui/classifier/brightline/ZigZagClassifier.java | 4 ++-- .../classifier/brightline/DistanceClassifierTest.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java index 7f45cc8f4c566..0329183e60481 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/DistanceClassifier.java @@ -38,10 +38,10 @@ import java.util.Locale; class DistanceClassifier extends FalsingClassifier { private static final float HORIZONTAL_FLING_THRESHOLD_DISTANCE_IN = 1; - private static final float VERTICAL_FLING_THRESHOLD_DISTANCE_IN = 1; + private static final float VERTICAL_FLING_THRESHOLD_DISTANCE_IN = 1.5f; private static final float HORIZONTAL_SWIPE_THRESHOLD_DISTANCE_IN = 3; private static final float VERTICAL_SWIPE_THRESHOLD_DISTANCE_IN = 3; - private static final float VELOCITY_TO_DISTANCE = 80f; + private static final float VELOCITY_TO_DISTANCE = 30f; private static final float SCREEN_FRACTION_MAX_DISTANCE = 0.8f; private final float mVerticalFlingThresholdPx; diff --git a/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java index 957ea8d127d2c..a796f3c6d5471 100644 --- a/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java +++ b/packages/SystemUI/src/com/android/systemui/classifier/brightline/ZigZagClassifier.java @@ -42,8 +42,8 @@ class ZigZagClassifier extends FalsingClassifier { // most swipes will follow somewhat of a 'C' or 'S' shape, we allow more deviance along the // `SECONDARY` axis. private static final float MAX_X_PRIMARY_DEVIANCE = .05f; - private static final float MAX_Y_PRIMARY_DEVIANCE = .1f; - private static final float MAX_X_SECONDARY_DEVIANCE = .6f; + private static final float MAX_Y_PRIMARY_DEVIANCE = .15f; + private static final float MAX_X_SECONDARY_DEVIANCE = .4f; private static final float MAX_Y_SECONDARY_DEVIANCE = .3f; private final float mMaxXPrimaryDeviance; diff --git a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java index 44454d9578693..e5ab9be288efd 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/DistanceClassifierTest.java @@ -60,10 +60,10 @@ public class DistanceClassifierTest extends ClassifierTest { mClassifier.onTouchEvent(appendDownEvent(1, 1)); assertThat(mClassifier.isFalseTouch(), is(true)); - mClassifier.onTouchEvent(appendMoveEvent(1, 2)); + mClassifier.onTouchEvent(appendMoveEvent(1, 40)); assertThat(mClassifier.isFalseTouch(), is(true)); - mClassifier.onTouchEvent(appendUpEvent(1, 40)); + mClassifier.onTouchEvent(appendUpEvent(1, 80)); assertThat(mClassifier.isFalseTouch(), is(false)); }