summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--[-rwxr-xr-x]core/java/android/speech/tts/TextToSpeech.java45
-rw-r--r--core/java/android/widget/AutoCompleteTextView.java1
2 files changed, 23 insertions, 23 deletions
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index 00667f4..616b3f1 100755..100644
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -144,10 +144,10 @@ public class TextToSpeech {
private OnInitListener mInitListener = null;
private boolean mStarted = false;
private final Object mStartLock = new Object();
- private int mCachedRate = Engine.FALLBACK_TTS_DEFAULT_RATE;
- private String mCachedLang = Engine.FALLBACK_TTS_DEFAULT_LANG;
- private String mCachedCountry = Engine.FALLBACK_TTS_DEFAULT_COUNTRY;
- private String mCachedVariant = Engine.FALLBACK_TTS_DEFAULT_VARIANT;
+ /**
+ * Used to store the cached parameters sent along with each synthesis request to the
+ * TTS service.
+ */
private String[] mCachedParams;
/**
@@ -163,22 +163,21 @@ public class TextToSpeech {
mContext = context;
mInitListener = listener;
- mCachedParams = new String[2*4]; //4 parameters, store key and value
+ mCachedParams = new String[2*4]; // 4 parameters, store key and value
mCachedParams[Engine.TTS_PARAM_POSITION_RATE] = Engine.TTS_KEY_PARAM_RATE;
mCachedParams[Engine.TTS_PARAM_POSITION_LANGUAGE] = Engine.TTS_KEY_PARAM_LANGUAGE;
mCachedParams[Engine.TTS_PARAM_POSITION_COUNTRY] = Engine.TTS_KEY_PARAM_COUNTRY;
mCachedParams[Engine.TTS_PARAM_POSITION_VARIANT] = Engine.TTS_KEY_PARAM_VARIANT;
- updateCachedParamArray();
- initTts();
- }
+ mCachedParams[Engine.TTS_PARAM_POSITION_RATE + 1] =
+ String.valueOf(Engine.FALLBACK_TTS_DEFAULT_RATE);
+ // initialize the language cached parameters with the current Locale
+ Locale defaultLoc = Locale.getDefault();
+ mCachedParams[Engine.TTS_PARAM_POSITION_LANGUAGE + 1] = defaultLoc.getISO3Language();
+ mCachedParams[Engine.TTS_PARAM_POSITION_COUNTRY + 1] = defaultLoc.getISO3Country();
+ mCachedParams[Engine.TTS_PARAM_POSITION_VARIANT + 1] = defaultLoc.getVariant();
-
- private void updateCachedParamArray() {
- mCachedParams[Engine.TTS_PARAM_POSITION_RATE+1] = String.valueOf(mCachedRate);
- mCachedParams[Engine.TTS_PARAM_POSITION_LANGUAGE+1] = mCachedLang;
- mCachedParams[Engine.TTS_PARAM_POSITION_COUNTRY+1] = mCachedCountry;
- mCachedParams[Engine.TTS_PARAM_POSITION_VARIANT+1] = mCachedVariant;
+ initTts();
}
@@ -533,9 +532,9 @@ public class TextToSpeech {
}
try {
if (speechRate > 0) {
- mCachedRate = (int)(speechRate*100);
- updateCachedParamArray();
- result = mITts.setSpeechRate(mCachedRate);
+ int rate = (int)(speechRate*100);
+ mCachedParams[Engine.TTS_PARAM_POSITION_RATE + 1] = String.valueOf(rate);
+ result = mITts.setSpeechRate(rate);
}
} catch (RemoteException e) {
// TTS died; restart it.
@@ -603,12 +602,12 @@ public class TextToSpeech {
return result;
}
try {
- mCachedLang = loc.getISO3Language();
- mCachedCountry = loc.getISO3Country();
- mCachedVariant = loc.getVariant();
- updateCachedParamArray();
- result = mITts.setLanguage(mCachedLang, mCachedCountry, mCachedVariant);
- } catch (RemoteException e) {
+ mCachedParams[Engine.TTS_PARAM_POSITION_LANGUAGE + 1] = loc.getISO3Language();
+ mCachedParams[Engine.TTS_PARAM_POSITION_COUNTRY + 1] = loc.getISO3Country();
+ mCachedParams[Engine.TTS_PARAM_POSITION_VARIANT + 1] = loc.getVariant();
+ result = mITts.setLanguage(mCachedParams[Engine.TTS_PARAM_POSITION_LANGUAGE + 1],
+ mCachedParams[Engine.TTS_PARAM_POSITION_COUNTRY + 1],
+ mCachedParams[Engine.TTS_PARAM_POSITION_VARIANT + 1] );
// TTS died; restart it.
mStarted = false;
initTts();
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java
index 2182384..675aba2 100644
--- a/core/java/android/widget/AutoCompleteTextView.java
+++ b/core/java/android/widget/AutoCompleteTextView.java
@@ -837,6 +837,7 @@ public class AutoCompleteTextView extends EditText implements Filter.FilterListe
*/
public void setListSelection(int position) {
if (mPopup.isShowing() && (mDropDownList != null)) {
+ mDropDownList.mListSelectionHidden = false;
mDropDownList.setSelection(position);
// ListView.setSelection() will call requestLayout()
}