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

Commit 01b729f2 authored by Siarhei Vishniakou's avatar Siarhei Vishniakou
Browse files

Allow TouchDelegate to forward non-primary pointer

Currently, TouchDelegate can be used to receive the primary pointer
events with actions ACTION_DOWN, ACTION_UP, and ACTION_MOVE. While
ACTION_MOVE will contain the data for all active pointers (not just
primary), currently TouchDelegate will not forward ACTION_POINTER_DOWN
and ACTION_POINTER_UP events.

This change modifies TouchDelegate behaviour to also forward the
non-primary pointer DOWN and UP events to the target view.

Bug: 37060799
Test: atest cts.TouchDelegateTest
Change-Id: Ieb457c9e15058302cb26d9d4a83f958bbec8dbc0
parent 35ebe91e
Loading
Loading
Loading
Loading
+3 −1
Original line number Original line Diff line number Diff line
@@ -105,11 +105,13 @@ public class TouchDelegate {
        boolean hit = true;
        boolean hit = true;
        boolean handled = false;
        boolean handled = false;


        switch (event.getAction()) {
        switch (event.getActionMasked()) {
            case MotionEvent.ACTION_DOWN:
            case MotionEvent.ACTION_DOWN:
                mDelegateTargeted = mBounds.contains(x, y);
                mDelegateTargeted = mBounds.contains(x, y);
                sendToDelegate = mDelegateTargeted;
                sendToDelegate = mDelegateTargeted;
                break;
                break;
            case MotionEvent.ACTION_POINTER_DOWN:
            case MotionEvent.ACTION_POINTER_UP:
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_UP:
            case MotionEvent.ACTION_MOVE:
            case MotionEvent.ACTION_MOVE:
                sendToDelegate = mDelegateTargeted;
                sendToDelegate = mDelegateTargeted;