Skip to content

Commit 964b612

Browse files
Dave MankoffAndroid (Google) Code Review
authored andcommitted
Merge "Allow two finger swipes down." into qt-qpr1-dev
2 parents 5e52236 + 70db873 commit 964b612

3 files changed

Lines changed: 30 additions & 0 deletions

File tree

packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
package com.android.systemui.classifier.brightline;
1818

19+
import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN;
20+
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
21+
1922
import android.view.MotionEvent;
2023

2124
/**
@@ -27,6 +30,7 @@
2730
class PointerCountClassifier extends FalsingClassifier {
2831

2932
private static final int MAX_ALLOWED_POINTERS = 1;
33+
private static final int MAX_ALLOWED_POINTERS_SWIPE_DOWN = 2;
3034
private int mMaxPointerCount;
3135

3236
PointerCountClassifier(FalsingDataProvider dataProvider) {
@@ -48,6 +52,10 @@ public void onTouchEvent(MotionEvent motionEvent) {
4852

4953
@Override
5054
public boolean isFalseTouch() {
55+
int interactionType = getInteractionType();
56+
if (interactionType == QUICK_SETTINGS || interactionType == NOTIFICATION_DRAG_DOWN) {
57+
return mMaxPointerCount > MAX_ALLOWED_POINTERS_SWIPE_DOWN;
58+
}
5159
return mMaxPointerCount > MAX_ALLOWED_POINTERS;
5260
}
5361
}

packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ClassifierTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.android.systemui.classifier.brightline;
1818

19+
import static com.android.systemui.classifier.Classifier.UNLOCK;
20+
1921
import android.util.DisplayMetrics;
2022
import android.view.MotionEvent;
2123

@@ -42,6 +44,7 @@ public void setup() {
4244
displayMetrics.widthPixels = 1000;
4345
displayMetrics.heightPixels = 1000;
4446
mDataProvider = new FalsingDataProvider(displayMetrics);
47+
mDataProvider.setInteractionType(UNLOCK);
4548
}
4649

4750
@After

packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.android.systemui.classifier.brightline;
1818

19+
import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS;
20+
1921
import static org.hamcrest.CoreMatchers.is;
2022
import static org.junit.Assert.assertThat;
2123

@@ -74,4 +76,21 @@ public void testFail_multiPointer() {
7476
motionEvent.recycle();
7577
assertThat(mClassifier.isFalseTouch(), is(true));
7678
}
79+
80+
@Test
81+
public void testPass_multiPointerDragDown() {
82+
MotionEvent.PointerProperties[] pointerProperties =
83+
MotionEvent.PointerProperties.createArray(2);
84+
pointerProperties[0].id = 0;
85+
pointerProperties[1].id = 1;
86+
MotionEvent.PointerCoords[] pointerCoords = MotionEvent.PointerCoords.createArray(2);
87+
MotionEvent motionEvent = MotionEvent.obtain(
88+
1, 1, MotionEvent.ACTION_DOWN, 2, pointerProperties, pointerCoords, 0, 0, 0, 0, 0,
89+
0,
90+
0, 0);
91+
mClassifier.onTouchEvent(motionEvent);
92+
motionEvent.recycle();
93+
getDataProvider().setInteractionType(QUICK_SETTINGS);
94+
assertThat(mClassifier.isFalseTouch(), is(false));
95+
}
7796
}

0 commit comments

Comments
 (0)