Add (hidden) TTSEngines#isLocaleSetToDefaultForEngine method.

TTSEngines#isLocaleSetToDefaultForEngine allows the Settings application
to distinguish if the TTS engine locale is blank (set to follow the device
locale) or if it's set to the same value as the device locale.

Change-Id: I462584547d69c21cde4ac317c8a3b3bbc1680cae
This commit is contained in:
Przemyslaw Szczepaniak
2014-05-12 15:21:52 +01:00
parent c8d31963d6
commit de1b5ae7a7

View File

@@ -306,6 +306,24 @@ public class TtsEngines {
return locale;
}
/**
* True if a given TTS engine uses the default phone locale as a default locale. Attempts to
* read the value from {@link Settings.Secure#TTS_DEFAULT_LOCALE}, failing which the
* old style value from {@link Settings.Secure#TTS_DEFAULT_LANG} is read. If
* both these values are empty, this methods returns true.
*
* @param engineName the engine to return the locale for.
*/
public boolean isLocaleSetToDefaultForEngine(String engineName) {
return (TextUtils.isEmpty(parseEnginePrefFromList(
getString(mContext.getContentResolver(), Settings.Secure.TTS_DEFAULT_LOCALE),
engineName)) &&
TextUtils.isEmpty(
Settings.Secure.getString(mContext.getContentResolver(),
Settings.Secure.TTS_DEFAULT_LANG)));
}
/**
* Parses a locale preference value delimited by {@link #LOCALE_DELIMITER}.
* Varies from {@link String#split} in that it will always return an array