From 2351b4f74f1106944b183abbfbccd35a70a00cfb Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Tue, 3 Jun 2014 14:44:23 +0900 Subject: [PATCH] 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 --- .../KeyboardAccessibilityDelegate.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java index 398a933df..bbc18f020 100644 --- a/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/KeyboardAccessibilityDelegate.java @@ -248,19 +248,15 @@ public class KeyboardAccessibilityDelegate * 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 touchAction that has pointer information * of event. */ 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; } /**