Loading packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN; import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import android.view.MotionEvent; /** Loading @@ -27,6 +30,7 @@ import android.view.MotionEvent; class PointerCountClassifier extends FalsingClassifier { private static final int MAX_ALLOWED_POINTERS = 1; private static final int MAX_ALLOWED_POINTERS_SWIPE_DOWN = 2; private int mMaxPointerCount; PointerCountClassifier(FalsingDataProvider dataProvider) { Loading @@ -48,6 +52,10 @@ class PointerCountClassifier extends FalsingClassifier { @Override public boolean isFalseTouch() { int interactionType = getInteractionType(); if (interactionType == QUICK_SETTINGS || interactionType == NOTIFICATION_DRAG_DOWN) { return mMaxPointerCount > MAX_ALLOWED_POINTERS_SWIPE_DOWN; } return mMaxPointerCount > MAX_ALLOWED_POINTERS; } } packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ClassifierTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.UNLOCK; import android.util.DisplayMetrics; import android.view.MotionEvent; Loading @@ -42,6 +44,7 @@ public class ClassifierTest extends SysuiTestCase { displayMetrics.widthPixels = 1000; displayMetrics.heightPixels = 1000; mDataProvider = new FalsingDataProvider(displayMetrics); mDataProvider.setInteractionType(UNLOCK); } @After Loading packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; Loading Loading @@ -74,4 +76,21 @@ public class PointerCountClassifierTest extends ClassifierTest { motionEvent.recycle(); assertThat(mClassifier.isFalseTouch(), is(true)); } @Test public void testPass_multiPointerDragDown() { MotionEvent.PointerProperties[] pointerProperties = MotionEvent.PointerProperties.createArray(2); pointerProperties[0].id = 0; pointerProperties[1].id = 1; MotionEvent.PointerCoords[] pointerCoords = MotionEvent.PointerCoords.createArray(2); MotionEvent motionEvent = MotionEvent.obtain( 1, 1, MotionEvent.ACTION_DOWN, 2, pointerProperties, pointerCoords, 0, 0, 0, 0, 0, 0, 0, 0); mClassifier.onTouchEvent(motionEvent); motionEvent.recycle(); getDataProvider().setInteractionType(QUICK_SETTINGS); assertThat(mClassifier.isFalseTouch(), is(false)); } } Loading
packages/SystemUI/src/com/android/systemui/classifier/brightline/PointerCountClassifier.java +8 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,9 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.NOTIFICATION_DRAG_DOWN; import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import android.view.MotionEvent; /** Loading @@ -27,6 +30,7 @@ import android.view.MotionEvent; class PointerCountClassifier extends FalsingClassifier { private static final int MAX_ALLOWED_POINTERS = 1; private static final int MAX_ALLOWED_POINTERS_SWIPE_DOWN = 2; private int mMaxPointerCount; PointerCountClassifier(FalsingDataProvider dataProvider) { Loading @@ -48,6 +52,10 @@ class PointerCountClassifier extends FalsingClassifier { @Override public boolean isFalseTouch() { int interactionType = getInteractionType(); if (interactionType == QUICK_SETTINGS || interactionType == NOTIFICATION_DRAG_DOWN) { return mMaxPointerCount > MAX_ALLOWED_POINTERS_SWIPE_DOWN; } return mMaxPointerCount > MAX_ALLOWED_POINTERS; } }
packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/ClassifierTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.UNLOCK; import android.util.DisplayMetrics; import android.view.MotionEvent; Loading @@ -42,6 +44,7 @@ public class ClassifierTest extends SysuiTestCase { displayMetrics.widthPixels = 1000; displayMetrics.heightPixels = 1000; mDataProvider = new FalsingDataProvider(displayMetrics); mDataProvider.setInteractionType(UNLOCK); } @After Loading
packages/SystemUI/tests/src/com/android/systemui/classifier/brightline/PointerCountClassifierTest.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.systemui.classifier.brightline; import static com.android.systemui.classifier.Classifier.QUICK_SETTINGS; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; Loading Loading @@ -74,4 +76,21 @@ public class PointerCountClassifierTest extends ClassifierTest { motionEvent.recycle(); assertThat(mClassifier.isFalseTouch(), is(true)); } @Test public void testPass_multiPointerDragDown() { MotionEvent.PointerProperties[] pointerProperties = MotionEvent.PointerProperties.createArray(2); pointerProperties[0].id = 0; pointerProperties[1].id = 1; MotionEvent.PointerCoords[] pointerCoords = MotionEvent.PointerCoords.createArray(2); MotionEvent motionEvent = MotionEvent.obtain( 1, 1, MotionEvent.ACTION_DOWN, 2, pointerProperties, pointerCoords, 0, 0, 0, 0, 0, 0, 0, 0); mClassifier.onTouchEvent(motionEvent); motionEvent.recycle(); getDataProvider().setInteractionType(QUICK_SETTINGS); assertThat(mClassifier.isFalseTouch(), is(false)); } }