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

Commit fced1268 authored by Jean-Michel Trivi's avatar Jean-Michel Trivi
Browse files

Fix bug 2577511 NPE in TTS Settings

A previous bug had caused incorrect settings to be saved, in
particular the default language variant was not stored, unlike
the default language and country. When settings were restored, this
caused an invalid group of settings to be loaded, with a null
language variant. The fix consists in:
- discarding invalid default language settings
- reevaluating which language should be selected in the list of
  available languages.

Change-Id: If58882a9acc28f14a78f6142fefa17d04ca4ad5d
parent c06bb82f
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -669,8 +669,20 @@ public class TextToSpeechSettings extends PreferenceActivity implements
     * Returns whether there is a default language in the TTS settings.
     */
    private boolean hasLangPref() {
        String language = Settings.Secure.getString(getContentResolver(), TTS_DEFAULT_LANG);
        return (language != null);
        ContentResolver resolver = getContentResolver();
        String language = Settings.Secure.getString(resolver, TTS_DEFAULT_LANG);
        if ((language == null) || (language.length() < 1)) {
            return false;
        }
        String country = Settings.Secure.getString(resolver, TTS_DEFAULT_COUNTRY);
        if (country == null) {
            return false;
        }
        String variant = Settings.Secure.getString(resolver, TTS_DEFAULT_VARIANT);
        if (variant == null) {
            return false;
        }
        return true;
    }

    /**