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

Commit 4fa4a1ae authored by Przemyslaw Szczepaniak's avatar Przemyslaw Szczepaniak Committed by Android Git Automerger
Browse files

am 2fbe5a99: am ec11e8dd: Merge "Catch MissingResourceException caused by bad...

am 2fbe5a99: am ec11e8dd: Merge "Catch MissingResourceException caused by bad locale in TTS." into klp-dev

* commit '2fbe5a99':
  Catch MissingResourceException caused by bad locale in TTS.
parents 93d1b4df 2fbe5a99
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -993,8 +993,16 @@ public class TextToSpeech {
        return runAction(new Action<Set<String>>() {
            @Override
            public Set<String> run(ITextToSpeechService service) throws RemoteException {
                String[] features = service.getFeaturesForLanguage(
                String[] features = null;
                try {
                    features = service.getFeaturesForLanguage(
                        locale.getISO3Language(), locale.getISO3Country(), locale.getVariant());
                } catch(MissingResourceException e) {
                    Log.w(TAG, "Couldn't retrieve 3 letter ISO 639-2/T language and/or ISO 3166 " +
                            "country code for locale: " + locale, e);
                    return null;
                }

                if (features != null) {
                    final Set<String> featureSet = new HashSet<String>();
                    Collections.addAll(featureSet, features);
+26 −19
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Locale;
import java.util.MissingResourceException;

/**
 * Support class for querying the list of available engines
@@ -369,6 +370,7 @@ public class TtsEngines {
    public String getDefaultLocale() {
        final Locale locale = Locale.getDefault();

        try {
            // Note that the default locale might have an empty variant
            // or language, and we take care that the construction is
            // the same as {@link #getV1Locale} i.e no trailing delimiters
@@ -391,6 +393,11 @@ public class TtsEngines {
            }

            return defaultLocale;
        } catch (MissingResourceException e) {
            // Default locale does not have a ISO 3166 and/or ISO 639-2/T codes. Return the
            // default "eng-usa" (that would be the result of Locale.getDefault() == Locale.US).
            return "eng-usa";
        }
    }

    /**