diff --git a/java/res/values/strings.xml b/java/res/values/strings.xml index f618473bdf0f36296eb39799969c48ee625bad86..8e8a13f9b54d174c6f35aa17a9d48cb677a4588a 100644 --- a/java/res/values/strings.xml +++ b/java/res/values/strings.xml @@ -249,6 +249,8 @@ <!-- Preferences item for enabling speech input --> <string name="voice_input">Voice input key</string> + <!-- The summary text to describe the reason why the "Voice input key" option is disabled. [CHAR LIMIT=100] --> + <string name="voice_input_disabled_summary">No voice input methods enabled. Check Language & input settings.</string> <!-- Title for configuring input method settings [CHAR LIMIT=35] --> <string name="configure_input_method">Configure input methods</string> diff --git a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java index e1182e4ffdba0f708c53a2cce9e606e3a1636760..67017a43ba983894bea7d0ec216870512fb34953 100644 --- a/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java +++ b/java/src/com/android/inputmethod/latin/settings/SettingsFragment.java @@ -238,8 +238,14 @@ public final class SettingsFragment extends InputMethodSettingsFragment super.onResume(); final SharedPreferences prefs = getPreferenceManager().getSharedPreferences(); final Resources res = getResources(); - final boolean isShortcutImeEnabled = SubtypeSwitcher.getInstance().isShortcutImeEnabled(); - setPreferenceEnabled(Settings.PREF_VOICE_INPUT_KEY, isShortcutImeEnabled); + final Preference voiceInputKeyOption = findPreference(Settings.PREF_VOICE_INPUT_KEY); + if (voiceInputKeyOption != null) { + final boolean isShortcutImeEnabled = SubtypeSwitcher.getInstance() + .isShortcutImeEnabled(); + voiceInputKeyOption.setEnabled(isShortcutImeEnabled); + voiceInputKeyOption.setSummary(isShortcutImeEnabled ? null + : res.getText(R.string.voice_input_disabled_summary)); + } final CheckBoxPreference showSetupWizardIcon = (CheckBoxPreference)findPreference(Settings.PREF_SHOW_SETUP_WIZARD_ICON); if (showSetupWizardIcon != null) {