diff --git a/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java b/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java index 4c2a3d34..8aabf8d4 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java +++ b/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java @@ -460,13 +460,10 @@ public boolean isLanguageSwitchKeyEnabled() { if (!mShowsLanguageSwitchKey) { return false; } + // The behavior preference (mLanguageSwitchKeyToOtherImes / mLanguageSwitchKeyToOtherSubtypes) + // only controls what tapping the key does — it must not gate visibility, otherwise the + // toggle silently has no effect for users with a single enabled subtype (the common case). final RichInputMethodManager imm = RichInputMethodManager.getInstance(); - if (!mLanguageSwitchKeyToOtherSubtypes) { - return imm.hasMultipleEnabledIMEsOrSubtypes(false /* include aux subtypes */); - } - if (!mLanguageSwitchKeyToOtherImes) { - return imm.hasMultipleEnabledSubtypesInThisIme(false /* include aux subtypes */); - } return imm.hasMultipleEnabledSubtypesInThisIme(false /* include aux subtypes */) || imm.hasMultipleEnabledIMEsOrSubtypes(false /* include aux subtypes */); }