diff options
author | 2014-06-07 23:28:13 +0900 | |
---|---|---|
committer | 2014-06-08 22:12:52 +0900 | |
commit | dec599d1723f4ff52f066bd2dd1a4457d30cd33c (patch) | |
tree | d1df0440da5029231047d93320393c8fd3b9ee81 /java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java | |
parent | 86a28db7f954dd7a1b158c7f1d7e9ae88258155a (diff) | |
download | latinime-dec599d1723f4ff52f066bd2dd1a4457d30cd33c.tar.gz latinime-dec599d1723f4ff52f066bd2dd1a4457d30cd33c.tar.xz latinime-dec599d1723f4ff52f066bd2dd1a4457d30cd33c.zip |
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
Diffstat (limited to 'java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/suggestions/MoreSuggestionsView.java | 14 |
1 files changed, 11 insertions, 3 deletions
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); } } |