From f772cba59760d1ad9eb5cb9205b2e2e9126e488d Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Fri, 5 Oct 2012 18:49:17 -0700 Subject: Accessibility active window not updated on time. 1. The active window is the one the user is touching or the one that has input focus. It has to be made current immediately after the user has stopped touching the screen because if the user types with the IME he should get a feedback for the letter typed in the text view which is in the input focused window. Note that we always deliver hover accessibility events (they are a result of user touching the screen) so change of the active window before all hover accessibility events from the touched window are delivered is fine. bug:7296890 Change-Id: I1ae87c8419e2f19bd8eb68de084c7117c66894bc --- services/java/com/android/server/accessibility/TouchExplorer.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'services/java/com/android/server/accessibility/TouchExplorer.java') diff --git a/services/java/com/android/server/accessibility/TouchExplorer.java b/services/java/com/android/server/accessibility/TouchExplorer.java index b3bf6fe..2688776 100644 --- a/services/java/com/android/server/accessibility/TouchExplorer.java +++ b/services/java/com/android/server/accessibility/TouchExplorer.java @@ -304,6 +304,7 @@ class TouchExplorer implements EventStreamTransformation { mNext.clear(); } mTouchExplorationInProgress = false; + mAms.onTouchInteractionEnd(); } @Override @@ -615,6 +616,7 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: + mAms.onTouchInteractionEnd(); // We know that we do not need the pre-fed gesture points are not // needed anymore since the last pointer just went up. mStrokeBuffer.clear(); @@ -737,6 +739,7 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: { + mAms.onTouchInteractionEnd(); // Announce the end of a new touch interaction. sendAccessibilityEvent( AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); @@ -782,6 +785,7 @@ class TouchExplorer implements EventStreamTransformation { AccessibilityEvent.TYPE_TOUCH_INTERACTION_END); //$FALL-THROUGH$ case MotionEvent.ACTION_POINTER_UP: { + mAms.onTouchInteractionEnd(); mLongPressingPointerId = -1; mLongPressingPointerDeltaX = 0; mLongPressingPointerDeltaY = 0; @@ -819,6 +823,7 @@ class TouchExplorer implements EventStreamTransformation { } } break; case MotionEvent.ACTION_UP: { + mAms.onTouchInteractionEnd(); // Announce the end of gesture recognition. sendAccessibilityEvent( AccessibilityEvent.TYPE_GESTURE_DETECTION_END); -- cgit v1.1