From 2acc02e94272f7796a50fe0821e46c6643968646 Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Thu, 25 Jun 2009 10:03:43 -0700 Subject: [PATCH] Remove pitch selection from TTS settings. Use the settings name for the locale property rather than the UI key. Add prefs entry to install the voice data. --- res/xml/tts_settings.xml | 8 -- .../settings/TextToSpeechSettings.java | 90 ++++++++++--------- 2 files changed, 50 insertions(+), 48 deletions(-) diff --git a/res/xml/tts_settings.xml b/res/xml/tts_settings.xml index 4ec2a4d801c..d94d5754cc6 100644 --- a/res/xml/tts_settings.xml +++ b/res/xml/tts_settings.xml @@ -45,14 +45,6 @@ android:persistent="false" android:entries="@array/tts_rate_entries" android:entryValues="@array/tts_rate_values" /> - - resolveInfos = pm.queryIntentActivities(intent, 0); + // query only the package that matches that of the default engine + for (int i = 0; i < resolveInfos.size(); i++) { + ActivityInfo currentActivityInfo = resolveInfos.get(i).activityInfo; + if (mDefaultEng.equals(currentActivityInfo.packageName)) { + intent.setClassName(mDefaultEng, currentActivityInfo.name); + this.startActivityForResult(intent, VOICE_DATA_INSTALLATION); + } + } + } + + /** * Called when the TTS engine is initialized. */ @@ -273,7 +293,8 @@ public class TextToSpeechSettings extends PreferenceActivity implements } } else { Log.v(TAG, "Voice data check failed"); - + mEnableDemo = false; + updateWidgetState(); } } } @@ -299,16 +320,6 @@ public class TextToSpeechSettings extends PreferenceActivity implements } catch (NumberFormatException e) { Log.e(TAG, "could not persist default TTS rate setting", e); } - } else if (KEY_TTS_DEFAULT_PITCH.equals(preference.getKey())) { - // Default pitch - int value = Integer.parseInt((String) objValue); - try { - Settings.Secure.putInt(getContentResolver(), - TTS_DEFAULT_PITCH, value); - Log.i(TAG, "TTS default pitch is "+value); - } catch (NumberFormatException e) { - Log.e(TAG, "could not persist default TTS pitch setting", e); - } } else if (KEY_TTS_DEFAULT_LANG.equals(preference.getKey())) { // Default locale ContentResolver resolver = getContentResolver(); @@ -337,9 +348,9 @@ public class TextToSpeechSettings extends PreferenceActivity implements return true; } if (preference == mInstallData) { - // Install data - // TODO launch request for installer - + installVoiceData(); + // quit this activity so it needs to be restarted after installation of the voice data + finish(); return true; } return false; @@ -350,7 +361,6 @@ public class TextToSpeechSettings extends PreferenceActivity implements mPlayExample.setEnabled(mEnableDemo); mUseDefaultPref.setEnabled(mEnableDemo); mDefaultRatePref.setEnabled(mEnableDemo); - mDefaultPitchPref.setEnabled(mEnableDemo); mDefaultLocPref.setEnabled(mEnableDemo); mInstallData.setEnabled(!mEnableDemo);