Merge "Fix two bug in the TTS settings." into ics-mr1
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6a17bb9..cf87d35 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -717,7 +717,7 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.TextToSpeechSettings" />
+                android:value="com.android.settings.tts.TextToSpeechSettings" />
             <meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
                 android:resource="@id/language_settings" />
         </activity>
diff --git a/src/com/android/settings/tts/TtsEngineSettingsFragment.java b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
index 1d7b519..3f740d7 100644
--- a/src/com/android/settings/tts/TtsEngineSettingsFragment.java
+++ b/src/com/android/settings/tts/TtsEngineSettingsFragment.java
@@ -95,12 +95,15 @@
         ArrayList<String> 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 {