summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/tts
diff options
context:
space:
mode:
authorPrzemyslaw Szczepaniak <pszczepaniak@google.com>2012-08-13 16:56:02 +0100
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-08-14 08:29:05 -0700
commitccd80ec95f035cb9db9775e6f86fea1f7809f168 (patch)
tree5d60d2097950c9f16d1de6ef7677dc1519974d96 /src/com/android/settings/tts
parent1c7d15e841a03a62c5c89f514970a8ce14069c2f (diff)
downloadpackages_apps_Settings-ccd80ec95f035cb9db9775e6f86fea1f7809f168.zip
packages_apps_Settings-ccd80ec95f035cb9db9775e6f86fea1f7809f168.tar.gz
packages_apps_Settings-ccd80ec95f035cb9db9775e6f86fea1f7809f168.tar.bz2
Fix for setting TTS language to recently downloaded one
If user added new voice pack, then set it as a default language, went level back and went to TTS settings again, it ended in crash. This is because first updateVoiceDetails uses old voice data details that settings retreived long time ago. locales preference is hidden until TTs engine returns list of locales. Change-Id: I33a81ff259c69adb4c051ee693b6c41b93f302d0
Diffstat (limited to 'src/com/android/settings/tts')
-rw-r--r--src/com/android/settings/tts/TtsEngineSettingsFragment.java17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
index 267b8e1..d8e32aa 100644
--- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java
+++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
@@ -104,7 +104,8 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
mInstallVoicesPreference.setOnPreferenceClickListener(this);
// Remove this preference unless voices are indeed available to install.
root.removePreference(mInstallVoicesPreference);
-
+ // Remove this preference unless locales are indeed available.
+ root.removePreference(mLocalePreference);
root.setTitle(getEngineLabel());
root.setKey(getEngineName());
@@ -121,8 +122,6 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
mVoiceDataDetails = getArguments().getParcelable(TtsEnginePreference.FRAGMENT_ARGS_VOICES);
- updateVoiceDetails();
-
mTts = new TextToSpeech(getActivity().getApplicationContext(), mTtsInitListener,
getEngineName());
@@ -169,9 +168,8 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
if (available == null){
Log.e(TAG, "TTS data check failed (available == null).");
- final CharSequence[] empty = new CharSequence[0];
- mLocalePreference.setEntries(empty);
- mLocalePreference.setEntryValues(empty);
+ mLocalePreference.setEnabled(false);
+ getPreferenceScreen().removePreference(mLocalePreference);
return;
}
@@ -183,11 +181,12 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem
}
if (available.size() > 0) {
+ mLocalePreference.setEnabled(true);
+ getPreferenceScreen().addPreference(mLocalePreference);
updateDefaultLocalePref(available);
} else {
- final CharSequence[] empty = new CharSequence[0];
- mLocalePreference.setEntries(empty);
- mLocalePreference.setEntryValues(empty);
+ mLocalePreference.setEnabled(false);
+ getPreferenceScreen().removePreference(mLocalePreference);
}
}