summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/tts
diff options
context:
space:
mode:
authorPrzemyslaw Szczepaniak <pszczepaniak@google.com>2014-05-13 09:53:16 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-05-13 09:53:17 +0000
commitabf3886ed964d4a80d6d805c74d69a242766aad9 (patch)
tree25315eecfe9f7b566164a94dd00970b96d74f539 /src/com/android/settings/tts
parenteab58139f493698adbe0ecb7ed5ac4cf2ed51e1f (diff)
parent098b4a7eb795e403c2ccb7c1b585105c525761fc (diff)
downloadpackages_apps_Settings-abf3886ed964d4a80d6d805c74d69a242766aad9.zip
packages_apps_Settings-abf3886ed964d4a80d6d805c74d69a242766aad9.tar.gz
packages_apps_Settings-abf3886ed964d4a80d6d805c74d69a242766aad9.tar.bz2
Merge "Add explicit "use system language" TTS language."
Diffstat (limited to 'src/com/android/settings/tts')
-rw-r--r--src/com/android/settings/tts/TtsEngineSettingsFragment.java43
1 files changed, 21 insertions, 22 deletions
diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
index f6314dd..47493fb 100644
--- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java
+++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
@@ -68,7 +68,6 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
private TextToSpeech mTts;
private int mSelectedLocaleIndex = -1;
- private int mSystemLocaleIndex = -1;
private final TextToSpeech.OnInitListener mTtsInitListener = new TextToSpeech.OnInitListener() {
@Override
@@ -234,8 +233,10 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
mLocalePreference.setEnabled(false);
return;
}
- String currentLocale = mEnginesHelper.getLocalePrefForEngine(
- getEngineName());
+ String currentLocale = "";
+ if (!mEnginesHelper.isLocaleSetToDefaultForEngine(getEngineName())) {
+ currentLocale = mEnginesHelper.getLocalePrefForEngine(getEngineName());
+ }
ArrayList<Pair<String, String>> entryPairs =
new ArrayList<Pair<String, String>>(availableLangs.size());
@@ -264,21 +265,19 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
}
});
- String defaultLocaleStr = mEnginesHelper.getDefaultLocale();
-
// Get two arrays out of one of pairs
- mSelectedLocaleIndex = -1;
- mSystemLocaleIndex = -1;
- CharSequence[] entries = new CharSequence[availableLangs.size()];
- CharSequence[] entryValues = new CharSequence[availableLangs.size()];
- int i = 0;
+ mSelectedLocaleIndex = 0; // Will point to the R.string.tts_lang_use_system value
+ CharSequence[] entries = new CharSequence[availableLangs.size()+1];
+ CharSequence[] entryValues = new CharSequence[availableLangs.size()+1];
+
+ entries[0] = getActivity().getString(R.string.tts_lang_use_system);
+ entryValues[0] = "";
+
+ int i = 1;
for (Pair<String, String> entry : entryPairs) {
if (entry.second.equalsIgnoreCase(currentLocale)) {
mSelectedLocaleIndex = i;
}
- if (entry.second.equalsIgnoreCase(defaultLocaleStr)) {
- mSystemLocaleIndex = i;
- }
entries[i] = entry.first;
entryValues[i++] = entry.second;
}
@@ -355,17 +354,17 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
mLocalePreference.setSummary(mLocalePreference.getEntries()[selectedLocaleIndex]);
mSelectedLocaleIndex = selectedLocaleIndex;
- if (mSelectedLocaleIndex == mSystemLocaleIndex) {
- // Use empty locale, it will default to the system language
- mEnginesHelper.updateLocalePrefForEngine(getEngineName(), "");
- } else {
- mEnginesHelper.updateLocalePrefForEngine(getEngineName(), locale);
- }
+ mEnginesHelper.updateLocalePrefForEngine(getEngineName(), locale);
if (getEngineName().equals(mTts.getCurrentEngine())) {
- String[] localeArray = TtsEngines.parseLocalePref(locale);
- if (localeArray != null) {
- mTts.setLanguage(new Locale(localeArray[0], localeArray[1], localeArray[2]));
+ if (!locale.isEmpty()) {
+ String[] localeArray = TtsEngines.parseLocalePref(locale);
+ if (localeArray != null) {
+ mTts.setLanguage(new Locale(localeArray[0], localeArray[1], localeArray[2]));
+ }
+ } else {
+ // Empty locale means "use system default"
+ mTts.setLanguage(Locale.getDefault());
}
}
}