Fix NPE in settings
Bug: 5246032 Change-Id: I452dab9bf863fb8cba142467f338088ee8b30283
This commit is contained in:
parent
ade62577d4
commit
6d468c513f
3 changed files with 6 additions and 6 deletions
|
@ -717,8 +717,8 @@ public class VoiceProxy implements VoiceInput.UiListener {
|
|||
mHasUsedVoiceInputUnsupportedLocale =
|
||||
sp.getBoolean(PREF_HAS_USED_VOICE_INPUT_UNSUPPORTED_LOCALE, false);
|
||||
|
||||
mLocaleSupportedForVoiceInput = SubtypeSwitcher.getInstance().isVoiceSupported(
|
||||
SubtypeSwitcher.getInstance().getInputLocaleStr());
|
||||
mLocaleSupportedForVoiceInput = SubtypeSwitcher.isVoiceSupported(
|
||||
mService, SubtypeSwitcher.getInstance().getInputLocaleStr());
|
||||
|
||||
final String voiceMode = sp.getString(PREF_VOICE_MODE,
|
||||
mService.getString(R.string.voice_mode_main));
|
||||
|
|
|
@ -580,8 +580,8 @@ public class Settings extends InputMethodSettingsActivity
|
|||
// Get the current list of supported locales and check the current locale against
|
||||
// that list, to decide whether to put a warning that voice input will not work in
|
||||
// the current language as part of the pop-up confirmation dialog.
|
||||
boolean localeSupported = SubtypeSwitcher.getInstance().isVoiceSupported(
|
||||
Locale.getDefault().toString());
|
||||
boolean localeSupported = SubtypeSwitcher.isVoiceSupported(
|
||||
this, Locale.getDefault().toString());
|
||||
|
||||
final CharSequence message;
|
||||
if (localeSupported) {
|
||||
|
|
|
@ -539,14 +539,14 @@ public class SubtypeSwitcher {
|
|||
}
|
||||
|
||||
|
||||
public boolean isVoiceSupported(String locale) {
|
||||
public static boolean isVoiceSupported(Context context, String locale) {
|
||||
// Get the current list of supported locales and check the current locale against that
|
||||
// list. We cache this value so as not to check it every time the user starts a voice
|
||||
// input. Because this method is called by onStartInputView, this should mean that as
|
||||
// long as the locale doesn't change while the user is keeping the IME open, the
|
||||
// value should never be stale.
|
||||
String supportedLocalesString = VoiceProxy.getSupportedLocalesString(
|
||||
mService.getContentResolver());
|
||||
context.getContentResolver());
|
||||
List<String> voiceInputSupportedLocales = Arrays.asList(
|
||||
supportedLocalesString.split("\\s+"));
|
||||
return voiceInputSupportedLocales.contains(locale);
|
||||
|
|
Loading…
Reference in a new issue