diff options
Diffstat (limited to 'core/java')
| -rw-r--r--[-rwxr-xr-x] | core/java/android/speech/tts/TextToSpeech.java | 45 | ||||
| -rw-r--r-- | core/java/android/widget/AutoCompleteTextView.java | 1 |
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() } |
