diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java index 2dfde943441ae1854231245c20e0777459f3961f..37a4bf8f68efcbe926c1b1cf723d868a2e27805a 100644 --- a/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +++ b/java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java @@ -205,7 +205,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { final boolean subtypeChanged = (oldKeyboard == null) || !keyboard.mId.mLocale.equals(oldKeyboard.mId.mLocale); final boolean needsToDisplayLanguage = mSubtypeSwitcher.needsToDisplayLanguage( - keyboard.mId.mLocale); + keyboard.mId.mSubtype); keyboardView.startDisplayLanguageOnSpacebar(subtypeChanged, needsToDisplayLanguage, RichInputMethodManager.getInstance().hasMultipleEnabledIMEsOrSubtypes(true)); } diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java index 935dd96673ca34d1dc57f54d661aae024fa02e5f..c9a85f99450855c45d7dffcd8de66b4b5389eb31 100644 --- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java @@ -93,7 +93,10 @@ public final class SubtypeSwitcher { private int mEnabledSubtypeCount; private boolean mIsSystemLanguageSameAsInputLanguage; - public boolean getValue() { + public boolean needsToDisplayLanguage(final InputMethodSubtype subtype) { + if (SubtypeLocaleUtils.isNoLanguage(subtype)) { + return true; + } return mEnabledSubtypeCount >= 2 || !mIsSystemLanguageSameAsInputLanguage; } @@ -265,14 +268,8 @@ public final class SubtypeSwitcher { // Subtype Switching functions // ////////////////////////////////// - public boolean needsToDisplayLanguage(final Locale keyboardLocale) { - if (keyboardLocale.toString().equals(SubtypeLocaleUtils.NO_LANGUAGE)) { - return true; - } - if (!keyboardLocale.equals(getCurrentSubtypeLocale())) { - return false; - } - return mNeedsToDisplayLanguage.getValue(); + public boolean needsToDisplayLanguage(final InputMethodSubtype subtype) { + return mNeedsToDisplayLanguage.needsToDisplayLanguage(subtype); } public boolean isSystemLocaleSameAsLocaleOfAllEnabledSubtypesOfEnabledImes() {