diff options
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/com/android/inputmethod/keyboard/Key.java | 9 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/CandidateView.java | 8 |
2 files changed, 13 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java index 955885366..45bf68cdf 100644 --- a/java/src/com/android/inputmethod/keyboard/Key.java +++ b/java/src/com/android/inputmethod/keyboard/Key.java @@ -257,10 +257,13 @@ public class Key { final CharSequence[] popupCharacters = style.getTextArray(keyAttr, R.styleable.Keyboard_Key_popupCharacters); - if (res.getBoolean(R.bool.config_digit_popup_characters_enabled)) { - mPopupCharacters = popupCharacters; - } else { + // In Arabic symbol layouts, we'd like to keep digits in popup characters regardless of + // config_digit_popup_characters_enabled. + if (mKeyboard.mId.isAlphabetKeyboard() && !res.getBoolean( + R.bool.config_digit_popup_characters_enabled)) { mPopupCharacters = filterOutDigitPopupCharacters(popupCharacters); + } else { + mPopupCharacters = popupCharacters; } mMaxPopupColumn = style.getInt(keyboardAttr, R.styleable.Keyboard_Key_maxPopupKeyboardColumn, diff --git a/java/src/com/android/inputmethod/latin/CandidateView.java b/java/src/com/android/inputmethod/latin/CandidateView.java index 565b01d5a..96225f2e9 100644 --- a/java/src/com/android/inputmethod/latin/CandidateView.java +++ b/java/src/com/android/inputmethod/latin/CandidateView.java @@ -193,6 +193,7 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo public void layoutStrip(SuggestedWords suggestions, int maxWidth, int maxCount) { final int size = suggestions.size(); + if (size == 0) return; setupTexts(suggestions, size, mAutoCorrectHighlight); mCountInStrip = Math.min(maxCount, size); mScaleX = 1.0f; @@ -244,7 +245,12 @@ public class CandidateView extends LinearLayout implements OnClickListener, OnLo mTexts.clear(); for (int i = 0; i < count; i++) { final CharSequence suggestion = suggestions.getWord(i); - if (suggestion == null) continue; + if (suggestion == null) { + // Skip an empty suggestion, but we need to add a place-holder for it in order + // to avoid an exception in the loop in updateSuggestions(). + mTexts.add(""); + continue; + } final boolean isAutoCorrect = suggestions.mHasMinimalSuggestion && ((i == 1 && !suggestions.mTypedWordValid) |