From a2e365da0acf80c1bcd8413d72f697a0da374779 Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Fri, 13 Jun 2014 19:57:48 +0900 Subject: [PATCH] Stop announcing suggestions strip content while more keys keyboard is showing This CL also supports announcing dismissing of a more keys keyboard. Bug: 15582905 Change-Id: Ia9e5d6c7e3e23dac39ee570b20d32f0141ae6184 --- .../MoreKeysKeyboardAccessibilityDelegate.java | 5 ++++- .../android/inputmethod/keyboard/MoreKeysKeyboardView.java | 4 ++++ .../inputmethod/latin/suggestions/SuggestionStripView.java | 7 +++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java b/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java index 6fe8bc3b9..4022da343 100644 --- a/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java +++ b/java/src/com/android/inputmethod/accessibility/MoreKeysKeyboardAccessibilityDelegate.java @@ -55,6 +55,10 @@ public class MoreKeysKeyboardAccessibilityDelegate sendWindowStateChanged(mOpenAnnounceResId); } + public void onDismissMoreKeysKeyboard() { + sendWindowStateChanged(mCloseAnnounceResId); + } + @Override protected void onHoverEnter(final MotionEvent event) { if (DEBUG_HOVER) { @@ -112,6 +116,5 @@ public class MoreKeysKeyboardAccessibilityDelegate // TODO: Should fix this reference. This is a hack to clear the state of // {@link PointerTracker}. PointerTracker.dismissAllMoreKeysPanels(); - sendWindowStateChanged(mCloseAnnounceResId); } } diff --git a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java index 68a11398c..3994487aa 100644 --- a/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MoreKeysKeyboardView.java @@ -207,6 +207,10 @@ public class MoreKeysKeyboardView extends KeyboardView implements MoreKeysPanel if (!isShowingInParent()) { return; } + final MoreKeysKeyboardAccessibilityDelegate accessibilityDelegate = mAccessibilityDelegate; + if (accessibilityDelegate != null) { + accessibilityDelegate.onDismissMoreKeysKeyboard(); + } mController.onDismissMoreKeysPanel(); } diff --git a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java index 3be933ff7..aebfb7d4c 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/SuggestionStripView.java @@ -33,6 +33,7 @@ import android.view.View.OnClickListener; import android.view.View.OnLongClickListener; import android.view.ViewGroup; import android.view.ViewParent; +import android.view.accessibility.AccessibilityEvent; import android.widget.ImageButton; import android.widget.RelativeLayout; import android.widget.TextView; @@ -414,6 +415,12 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick return false; } + @Override + public boolean dispatchPopulateAccessibilityEvent(final AccessibilityEvent event) { + // Don't populate accessibility event with suggested words and voice key. + return true; + } + @Override public boolean onTouchEvent(final MotionEvent me) { // In the sliding input mode. {@link MotionEvent} should be forwarded to