Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8832235 authored by Austin Delgado's avatar Austin Delgado Committed by Android (Google) Code Review
Browse files

Merge "Add hover event handling to new touch architecture" into tm-qpr-dev

parents 6f20d51b e6c52597
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -54,9 +54,12 @@ class SinglePointerTouchProcessor @Inject constructor(val overlapDetector: Overl
        return when (event.actionMasked) {
            MotionEvent.ACTION_DOWN,
            MotionEvent.ACTION_POINTER_DOWN,
            MotionEvent.ACTION_MOVE -> processActionMove(preprocess())
            MotionEvent.ACTION_MOVE,
            MotionEvent.ACTION_HOVER_ENTER,
            MotionEvent.ACTION_HOVER_MOVE -> processActionMove(preprocess())
            MotionEvent.ACTION_UP,
            MotionEvent.ACTION_POINTER_UP ->
            MotionEvent.ACTION_POINTER_UP,
            MotionEvent.ACTION_HOVER_EXIT ->
                processActionUp(preprocess(), event.getPointerId(event.actionIndex))
            MotionEvent.ACTION_CANCEL -> processActionCancel(NormalizedTouchData())
            else ->
+74 −7
Original line number Diff line number Diff line
@@ -110,6 +110,28 @@ class SinglePointerTouchProcessorTest(val testCase: TestCase) : SysuiTestCase()
                        expectedInteractionEvent = InteractionEvent.UP,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    // MotionEvent.ACTION_HOVER_ENTER
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_ENTER,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = true)),
                        expectedInteractionEvent = InteractionEvent.DOWN,
                        expectedPointerOnSensorId = POINTER_ID_1,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_ENTER,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = false)),
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_ENTER,
                        previousPointerOnSensorId = POINTER_ID_1,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = false)),
                        expectedInteractionEvent = InteractionEvent.UP,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    // MotionEvent.ACTION_MOVE
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_MOVE,
@@ -161,6 +183,35 @@ class SinglePointerTouchProcessorTest(val testCase: TestCase) : SysuiTestCase()
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = POINTER_ID_2,
                    ),
                    // MotionEvent.ACTION_HOVER_MOVE
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_MOVE,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = true)),
                        expectedInteractionEvent = InteractionEvent.DOWN,
                        expectedPointerOnSensorId = POINTER_ID_1,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_MOVE,
                        previousPointerOnSensorId = POINTER_ID_1,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = true)),
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = POINTER_ID_1,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_MOVE,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = false)),
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_MOVE,
                        previousPointerOnSensorId = POINTER_ID_1,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = false)),
                        expectedInteractionEvent = InteractionEvent.UP,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    // MotionEvent.ACTION_UP
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_UP,
@@ -183,6 +234,28 @@ class SinglePointerTouchProcessorTest(val testCase: TestCase) : SysuiTestCase()
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    // MotionEvent.ACTION_HOVER_EXIT
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_EXIT,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = true)),
                        expectedInteractionEvent = InteractionEvent.UP,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_EXIT,
                        previousPointerOnSensorId = POINTER_ID_1,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = true)),
                        expectedInteractionEvent = InteractionEvent.UP,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_HOVER_EXIT,
                        previousPointerOnSensorId = INVALID_POINTER_ID,
                        currentPointers = listOf(TestPointer(id = POINTER_ID_1, onSensor = false)),
                        expectedInteractionEvent = InteractionEvent.UNCHANGED,
                        expectedPointerOnSensorId = INVALID_POINTER_ID,
                    ),
                    // MotionEvent.ACTION_CANCEL
                    genPositiveTestCases(
                        motionEventAction = MotionEvent.ACTION_CANCEL,
@@ -315,12 +388,6 @@ class SinglePointerTouchProcessorTest(val testCase: TestCase) : SysuiTestCase()
                        expectedPointerOnSensorId = POINTER_ID_2
                    )
                )
                .flatten() +
                listOf(
                        genTestCasesForUnsupportedAction(MotionEvent.ACTION_HOVER_ENTER),
                        genTestCasesForUnsupportedAction(MotionEvent.ACTION_HOVER_MOVE),
                        genTestCasesForUnsupportedAction(MotionEvent.ACTION_HOVER_EXIT)
                    )
                .flatten()
    }
}