From a2e365da0acf80c1bcd8413d72f697a0da374779 Mon Sep 17 00:00:00 2001
From: "Tadashi G. Takaoka" <takaoka@google.com>
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 6fe8bc3b94..4022da343b 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 68a11398c3..3994487aa0 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 3be933ff76..aebfb7d4c6 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
-- 
GitLab