Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6d468c51 authored by satok's avatar satok
Browse files

Fix NPE in settings

Bug: 5246032
Change-Id: I452dab9bf863fb8cba142467f338088ee8b30283
parent ade62577
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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));
+2 −2
Original line number Diff line number Diff line
@@ -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) {
+2 −2
Original line number Diff line number Diff line
@@ -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);