From fdd94d87dea6ced2ce30a84f6b8486895bd6855e Mon Sep 17 00:00:00 2001 From: Narayan Kamath Date: Fri, 4 Nov 2011 16:12:27 +0000 Subject: [PATCH] Fix two bug in the TTS settings. (a) The TTS API doesn't mandate that unavailable voices should be set and null, so deal with it correctly. (b) The android manifest contained a reference to the old TTS class. bug:5525023 Change-Id: I1c16dbc75893288e5fa221c73a7284fca7ab25c5 --- AndroidManifest.xml | 2 +- .../android/settings/tts/TtsEngineSettingsFragment.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 1da79f88073..3326b5daa46 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -716,7 +716,7 @@ + android:value="com.android.settings.tts.TextToSpeechSettings" /> diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java index 1d7b5195ddf..3f740d7ea34 100644 --- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java +++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java @@ -95,12 +95,15 @@ public class TtsEngineSettingsFragment extends SettingsPreferenceFragment implem ArrayList unavailable = voiceDataDetails.getStringArrayListExtra( TextToSpeech.Engine.EXTRA_UNAVAILABLE_VOICES); - if (available == null || unavailable == null){ + if (available == null){ Log.e(TAG, "TTS data check failed (available == null)."); + final CharSequence[] empty = new CharSequence[0]; + mLocalePreference.setEntries(empty); + mLocalePreference.setEntryValues(empty); return; } - if (unavailable.size() > 0) { + if (unavailable != null && unavailable.size() > 0) { mInstallVoicesPreference.setEnabled(true); getPreferenceScreen().addPreference(mInstallVoicesPreference); } else {