TTS engine default locale is set independently from the system locale.
If TTS engine default locale is not set, it defaults to the system locale.
If user decides to set TTS locale, ability to default to the current system
locale is lost (until device is wiped).
This change makes settings wipe the TTS engine default locale value if user
selects language that is system language. This allows TTS to track system
language if user changes it.
If system language is not available in TTS, language field is set to
"language not selected" value.
This change require a small change in framework/base to make previously
private method public (TtsEngines.getDefaultLocale).
+ Selected language is displayed in language preference summary (matches
all other language preferences)
+ Removing and then adding "language" and 'install languages' preferences
looks glitchy, not they are disabled (grayed out) if unavailable.
Bug: 8613986
Change-Id: Ic4bde97ef7406adb64cc03efbe660275360ba3af
If user added new voice pack, then set it as a default language,
went level back and went to TTS settings again, it ended in crash.
This is because first updateVoiceDetails uses old voice data details
that settings retreived long time ago.
locales preference is hidden until TTs engine returns list of locales.
Change-Id: I33a81ff259c69adb4c051ee693b6c41b93f302d0
Added one BroadcastListener that listens for TextToSpeech.Engine.ACTION_TTS_DATA_INSTALLED intents.
If it gets one, it will call TextToSpeech.Engine.ACTION_CHECK_TTS_DATA to update list of TTS voices.
It expects TTS engine to broadcast TTS_DATA_INSTALLED also when removing voice data.
In order to catch changes done when user sits in Text-to-speech output main activity,
TextToSpeech.Engine.ACTION_CHECK_TTS_DATA is called on start of tts engine config fragment.
Change-Id: Ic1e299ea3ffc45d938083f1ab5b2bf101fe25f26
The spec does not specify case sensitivity and support
for 3 letter locales is currently poor.
bug:5885830
Change-Id: I1b8f582bd19b1b0aed220036c5f17904478dba46
This is required to fix the case where an app has instantiated
and is using a TextToSpeech instance, and the user switches to
settings and changes the language for that instance. If no
app was using TTS, then onCreate() would have be called when
TTS is used next, and the correct locale will be loaded.
bug:5823836
Change-Id: I62adf3f7f0f14b67450ba08b8743e0d31e615a7e
(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
Re-added if there are voices to install.
DO NOT MERGE : Was already submitted to master.
bug:5511343
Change-Id: Iac95f37c3dda3b213f6ba34c32b7dc725673d64d