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

Commit 2351b4f7 authored by Tadashi G. Takaoka's avatar Tadashi G. Takaoka
Browse files

Fix synthesizing MotionEvent

KeyboardAccessibilityDelegate.synthesizeTouchEvent() wrongly passed
pointer's id as a 6th argument of MotionEvent.obtain method that
should be metaState.

Change-Id: I822f9647a1ba27ee8cee39f373f6a1c003ebf665
parent a32803ce
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -248,19 +248,15 @@ public class KeyboardAccessibilityDelegate<KV extends KeyboardView>
     * Synthesize a touch event from a hover event.
     *
     * @param touchAction The action of the synthesizing touch event.
     * @param event The base hover event from that the touch event is synthesized.
     * @param hoverEvent The base hover event from that the touch event is synthesized.
     * @return The synthesized touch event of <code>touchAction</code> that has pointer information
     * of <code>event</code>.
     */
    protected static MotionEvent synthesizeTouchEvent(final int touchAction,
            final MotionEvent event) {
        final long downTime = event.getDownTime();
        final long eventTime = event.getEventTime();
        final int actionIndex = event.getActionIndex();
        final float x = event.getX(actionIndex);
        final float y = event.getY(actionIndex);
        final int pointerId = event.getPointerId(actionIndex);
        return MotionEvent.obtain(downTime, eventTime, touchAction, x, y, pointerId);
            final MotionEvent hoverEvent) {
        final MotionEvent touchEvent = MotionEvent.obtain(hoverEvent);
        touchEvent.setAction(touchAction);
        return touchEvent;
    }

    /**