From dec599d1723f4ff52f066bd2dd1a4457d30cd33c Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" Date: Sat, 7 Jun 2014 23:28:13 +0900 Subject: Fix overwriting accessibility delegate in setKeyboard A keyboard accessibility delegate object should be a singleton for each keyboard view. Bug: 15437933 Bug: 15419386 Change-Id: Ia70853c644d950ea6130c1f209b89929b1cb1ee5 --- .../inputmethod/latin/suggestions/MoreSuggestionsView.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java') diff --git a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java index 79a735ad6..528d500d2 100644 --- a/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java +++ b/java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java @@ -56,10 +56,18 @@ public final class MoreSuggestionsView extends MoreKeysKeyboardView { super.setKeyboard(keyboard); // With accessibility mode off, {@link #mAccessibilityDelegate} is set to null at the // above {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. + // With accessibility mode on, {@link #mAccessibilityDelegate} is set to a + // {@link MoreKeysKeyboardAccessibilityDelegate} object at the above + // {@link MoreKeysKeyboardView#setKeyboard(Keyboard)} call. And the object has to be + // overwritten by a {@link MoreSuggestionsAccessibilityDelegate} object here. if (AccessibilityUtils.getInstance().isAccessibilityEnabled()) { - mAccessibilityDelegate = new MoreSuggestionsAccessibilityDelegate(this, mKeyDetector); - mAccessibilityDelegate.setOpenAnnounce(R.string.spoken_open_more_suggestions); - mAccessibilityDelegate.setCloseAnnounce(R.string.spoken_close_more_suggestions); + if (!(mAccessibilityDelegate instanceof MoreSuggestionsAccessibilityDelegate)) { + mAccessibilityDelegate = new MoreSuggestionsAccessibilityDelegate( + this, mKeyDetector); + mAccessibilityDelegate.setOpenAnnounce(R.string.spoken_open_more_suggestions); + mAccessibilityDelegate.setCloseAnnounce(R.string.spoken_close_more_suggestions); + } + mAccessibilityDelegate.setKeyboard(keyboard); } } -- cgit v1.2.3-83-g751a