History log of /frameworks/base/packages/TtsService/src/android/tts/TtsService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
1a2712ce2a18eba6809d984d2f7443fbdccaa7ed 02-Apr-2010 Charles Chen <clchen@google.com> Fix for bug 2564771 - pitch setting between apps can
interfere with one another.

Root cause was not caching all the params that were needed.
This change fixes that bug as well as related bugs for remembering
the default engine and for making sure that the right engine is
loaded when checking for language availability.

Change-Id: I2a76da8faec8112036e68d27539db444c53a1509
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
42229259a6fca8851db74dc1c0ecbab2d3fb788d 30-Mar-2010 Charles Chen <clchen@google.com> Fix for bug 2548048 - it was impossible for applications to discover
if their TTS settings were being overridden by the user or not.

Change-Id: I28856a1b79c9455435671d13ed614a1ccb4e95ea
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
def7185cf19d48c95b50c2b83503d5cd21a613bf 26-Mar-2010 Charles Chen <clchen@google.com> Cherry-picking this fix into Froyo.

This fix is part of addressing bug #2548048

Making it possible to determine which TTS engine is currently set
as the default by the user.

Change-Id: Ifa422f43a33498b94d96811078c0794d64668357
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
726a40bc503060b52064cb74c2a56f589e5fa2b4 18-Mar-2010 Charles Chen <clchen@google.com> Enabling plugin engines to pass in their engine specific settings
via a ContentProvider to the TtsService so that the TtsService can
invoke their .so file with those settings.

Change-Id: Icd0e966971c36ebb4da191a50cda96d6f4525df5
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
76dd788a6eed08d537d9deb16e656b74e49b1e5a 18-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Support plugin parameter updates for TTS plugin settings.

Change-Id: Ia18a15b260a5eccb9ac55a8d526832c015224bca
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
dd5b4e2150c8e9f1511ab1b19890d9170407d9a6 18-Mar-2010 Charles Chen <clchen@google.com> Added a check to TtsService to make sure that the engine is enabled
before using it; if the engine is not enabled, TtsService will fall
back to using the default system engine.

Change-Id: I401f9c19cc1351c0ae6daf2b11069e5036febc51
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b21651c10ca833e073337ae6a0ee55fcc39c32f1 04-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2481825
When TTS is synthesizing to a file, return an error if the file
cannot be created.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
6a8b73be572f37b471322e7d49b44c3783633d96 02-Mar-2010 Charles Chen <clchen@google.com> Fixing a bug with TTS that caused TTS to ignore the default settings
unless the user had set the defaults to always override app settings.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
9b7cb792d08222e132c9d7db83f7b2064f8f1cfd 11-Feb-2010 Charles Chen <clchen@google.com> Setting the synth busy flag inside a synchronized block for
thread safety.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
44afb7be73047b462e61eb451c14774d3ff7848a 06-Feb-2010 Charles Chen <clchen@google.com> Fixing a race condition in the TextToSpeech service that could be
triggered if many long utterances are started and interrupted in
rapid succession.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
f5c87b386c839ccc9974bcb7f636aa2f8c14f78d 06-Feb-2010 Charles Chen <clchen@google.com> Fixing a bug with the TextToSpeech speech queue processing.
The queue processor should not be called for the next item
until synthesis has actually happened for the current item;
before it was being incorrectly called regardless of
whether or not the synthesizer had processed the current item.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
60dd360640a400d9b4a602160733281d284aaee5 08-Jan-2010 Charles Chen <clchen@google.com> Enabling multiple apps to use different speech synthesis engines and not
interfere with one another.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
f524115e10613943ef75ab0757217d29a2372181 30-Dec-2009 Charles Chen <clchen@google.com> am 014085a8: am 4bc95d19: Merge change Iab089078 into eclair-mr2

Merge commit '014085a8727d7e10a4d39cba4a6d27826b66bc00'

* commit '014085a8727d7e10a4d39cba4a6d27826b66bc00':
Fix for a race condition that can occur if an utterance
ab089078b1d42f8ecf549669847b47c0c2c5854b 11-Dec-2009 Charles Chen <clchen@google.com> Fix for a race condition that can occur if an utterance
is stopped right when it completes.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b4fbe768f8bfb2550dec100e29d0edc09b8a051a 19-Nov-2009 Charles Chen <clchen@google.com> Adding the ability to specify the speech synthesis
engine to use for text-to-speech.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
998207c82190dc941fa702b15642f5f698bed21c 20-Oct-2009 Charles Chen <clchen@google.com> Adding support for plugins.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b00941804890858ddc3b680c7a8e171c7dfdfb5f 31-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Clean TTS logs: use a common TAG in the TTS service, don't show
an error when loading the native synth lib.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
09f8db7ad3963f5fa15f2b99880b2f70e89c30ae 31-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Add a synchronous stop method to TTS synth engine so that upon its destruction,
if it was synthesing to a file, the latter can be deleted without
still being written to.
Clear the hashmap of SpeechItem to be stopped (mKillList) when the speech
queue is empty.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
ab6ed2c2b9cebd97cb501da58d386f59e4a99103 28-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Launch synthesis thread at max priority to prevent hicups in playback.
Return and log an error when an operation cannot be completed because
the speech queue is locked longer than the timeout period.
Log cleanup.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
a3046b6f7f81cc16afeba9aee880c2ed643ccfbf 27-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Implement clean killing of the TTS service.
If files were being synthesized to while the service was being killed,
it would have left partially written files (with no header). This CL
checks if the service is rendering to a file at the time the service
is destroyed: if it is, it will stop the rendering and deletes the file.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
69e67a3e2e863fa8828151ef3a488bfcaa504f7a 11-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2043140.
A race condition is encountered when an application invokes shutdown()
on its TextToSpeech object while is has speak() requests still running.
Since the TTS service destructor releases the synthesizer resources and
sets the corresponding synth reference to null, an NPE was observed.
The fix consists in catching NPEs whenever the sNativeSynth object is
accessed, and return the matching error for the call.
This change is a "low risk" version of the fix for bug 2025765i (same
issue) which was reverted because it was higher risk than this CL:
it affected the logic of each call to sNativeSynth. This CL only sets
an error code when an NPE is fired because sNativeSynth is null.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
fbe89ec6404978da7899b944d989dd9f50a468b5 04-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Revert "Fix bug 2025765."

This reverts commit 9ebb59b8aa75cab1e5bb53983893b579abb63edd.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
9ebb59b8aa75cab1e5bb53983893b579abb63edd 03-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2025765.
Talkback produced a null pointer exception when being enabled and disabled
repeatedly due to a race condition between the onDestroy() of the service,
and the use of the service itself. The error occurs when one Talkback
thread initiates the destruction of the service (call to onDestroy()) when
it invokes shutdown() on its TextToSpeech instance (the client of the
service). At the same time, Talkback tries to say that "Accessibility" is
unchecked from another thread. During onDestroy(), the reference to the
TTS engine (sNativeSynth) is reset to null, which is used in the service
in speakInternalOnly(), and setLanguage().
The fix consists in the addition of a static variable that signals that
the service has entered onDestroy(). Once this flag is set, all method
invocations on sNativeSynth will be dismissed. Note that access to the
native resources used by sNativeSynth are synchronized at the native
layer, therefore preventing sNativeSynth.shutdown() to interfere with
a sNativeSynth.speak() call already underway.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
ed06578eddde07abe325fa4c92910bb7246cd49f 28-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2017664
Removed the TTS_ prefix in the TextToSpeech class to follow the standard naming convention.
Moved the TTS-related intents from the Intent class to TextToSpeech and TextToSpeech.Engine.
Renamed the TextToSpeech.Engine constants that are used as extras for the
ACTION_TTS_CHECK_TTS_DATA intent to prefix them with EXTRA_.
Cleaned up the other TextToSpeech.Engine constant to remove superfluous mentions of
"TTS" in the name.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
0dbc6a44bb76631911552bc5b356391dac6f38a4 27-Jul-2009 Charles Chen <clchen@google.com> Fixing bug #2008185 - problem with the TTS dropping
utterances under heavy load was caused by the speech
queue being locked. Switched to using a timeout with
tryLock so that the TTS service does not give up
immediately.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
cee3bd4d68bf40d36fee3f0f5ce03f9edae87b51 21-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Reset the speech synth singleton to null when the service is destroyed
so it can be recreated when the service is initialized.
In the interface with the native synthesizer library, close the lib
in the finalizer, delete the global ref to the SynthProxy java object.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
a73d5cd05550310c3e6cedf0759210c255f4a6aa 21-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Make sure the speech synthesizer proxy is a singleton in the TTS service.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
5e11a6ad00b062d604b30578e0fb412ae4586989 20-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Prevent the setLanguage() method in TextToSpeech to change the language
for all current TextToSpeech instances by only caching the language
value so it is used with each subsequent utterance for this instance.
Synchronize calls to the engine around a global mutex since the engine
isn't thread-safe, except for the stop() call which is meant to interrupt
the synthesis loop.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b79370aad730949543bccf01b2c3d9ed64f493f5 18-Jul-2009 Charles Chen <clchen@google.com> Making sure that there are no calls made to the native TTS
layer if the utterance is in the process of being canceled.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
c231fd0fe7814a025aeb05796542048a51d0236b 16-Jul-2009 Charles Chen <clchen@google.com> Fixing a race condition that causes synthesis to not be aborted
even if stop is called.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
6f624239dc6c62ac9f18c4c8c65c2fbf1c78bdbd 15-Jul-2009 Charles Chen <clchen@google.com> Fixing a bug in how stop works - keep stop from always stopping
the currently speaking item if that item does not belong to the
app that is trying to do the stop.

Also adds back the functionality of globally stopping speech that
was lost when utterance IDs were added (needed by screen reader).
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
edb4fc3076622393ac25fafda24e4bbe78ec44e4 14-Jul-2009 Charles Chen <clchen@google.com> Cleaning up TtsService
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
3ab2076d65b86a69f6c5de220082c2fbace575e2 14-Jul-2009 Charles Chen <clchen@google.com> Implementing utterance ID callbacks for silence and pre-recorded files
(both generating and playing).
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
78c9d0d2c5eb4d5687ae7cbe41155159329ad68f 14-Jul-2009 Charles Chen <clchen@google.com> Adding Utterance ID to the TtsService.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
9440bce8553a82e420e06ded3fcccc6971d1ff79 13-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Propagate optional audio stream type to the creation of the audio resources
to enable the playback of TTS content on various stream types.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
630a8de44fa0ca855c4a87d939432f831e8ed531 11-Jul-2009 Charles Chen <clchen@google.com> Fixing TTS breakage.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
d48ca22b9fcea38b112aedb4126f3d030594af47 10-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Use the TTS queue constants in the TTS service as defined in the
TextToSpeech class.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
a9c5e4bf2639f8f09be8bace4230613b7b689f0e 10-Jul-2009 Charles Chen <clchen@google.com> Adding tagging to utterances to track which app said what.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
be84e4134d03e8e9823c06ec89da7428a2b744ea 09-Jul-2009 Charles Chen <clchen@google.com> Unbreaking the build.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
0a3d8744feb8ef5714b6c341ebcaa7ce326de908 09-Jul-2009 Charles Chen <clchen@google.com> Adding a lock to stop so that stop will stop utterances
that are just starting up.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b02ced7e454ae195c53993fe310ee38de6452ded 07-Jul-2009 Charles Chen <clchen@google.com> Cleaning up logs.
Initializing SpeechItem.mText to "" instead of null to
prevent a null from accidentally being used when it is a
non-text utterance.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
d478cf09dff93015bc332f2707068f08bf603cfd 07-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Use the current Locale as the default language when TTS settings are not
found, rather than a hardcoded value stored in TextToSpeech.Engine.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
52ae06521a8d4c48757b126cff233f037d0a16ba 07-Jul-2009 Charles Chen <clchen@google.com> Fixes a compatibility issue with users that have the old TTS
installed already.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
a3f89295ad4c7bd65a25144d2be1d45ea0acf87f 06-Jul-2009 Charles Chen <clchen@google.com> Propagating the error codes through the TtsService
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
4bca97ecaf04c50d5ed49920d119f9ffa6c29402 03-Jul-2009 Charles Chen <clchen@google.com> Removing IPA - IPA is already handled by the phoneme tag.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
ebb814bbaeacbdc04faa5683f25b12d40609548c 30-Jun-2009 Charles Chen <clchen@google.com> Fixing synth to file to use the speech queue.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
bbd63cb28595bd6b1fa62d331d9373b5c798c267 30-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug where the default TTS Service country is initialized to the default language.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
ddb0a803fd353fbaf0139cc8804499bc9dce7403 30-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Adding in TTS service support for language query and level of support.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
03454f8932b7fd79471ae6f95f2de7b75b0ded8a 29-Jun-2009 Charles Chen <clchen@google.com> Adding support for params.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
741c25b164d132ddc6ef662ddf854ebedcd0e389 26-Jun-2009 Charles Chen <clchen@google.com> Adding skeleton methods for IPA support.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
1aacdcfaa9233995fe78017c2a342258a69123a4 26-Jun-2009 Charles Chen <clchen@google.com> Adding splitting to the TTS to guard against extremely long strings.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
28dbae7df43ee683ba1bf468ad9924092bb9c569 25-Jun-2009 Charles Chen <clchen@google.com> Using a sendBroadcast to notify interested parties of when
the TTS queue has finished processing.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
7af9e196a33ac1d7fe3d5030fa42bbcaf2038020 24-Jun-2009 Charles Chen <clchen@google.com> Fixing the synth function so that queue processing continues.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
6a0e293c84de02e819c1b402141bd3f7684ea164 24-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug in TTS service where the language setting was using the default language
when the setting wasn't enforced, and vice-versa.
Cleaning the log of the native TTS layer to use LOGV for verbose messages,
rather than LOGI.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
2ea5349583de4a505501530d04133524bb6d5d38 23-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Adding support for pitch changes of the synthesized text in Text-To-Speech.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
d146874d7341bc9602c93719582b4209e7b81f01 18-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Grouping under TextToSpeech.Engine the constants to be used by
a TTS engine implementation or a settings application for default
values, and data integrity check return codes.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
605a66bd56f01713f240ee8bc1435512500498e0 18-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> In the TTS service, read the default TTS settings from Settings.Secure.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
679d728f09eeab2f8b882e42f6e081db1ac74996 17-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Using Locale to specify language and country for a TTS language to load,
rather than a String.
Cleanup in doc for TextToSpeech, and addition of queue mode constants.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
b3c5a8785bc643843117752d37769a1edfe9a9e2 11-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Made the platform TTS service aware of the path for the default TTS library to load.
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java
f85aa5a4d4e6f1ef7e07638568e27d709b8085c6 10-Jun-2009 Charles Chen <clchen@google.com> Restructuring the TTS files so that it works as a Service
/frameworks/base/packages/TtsService/src/android/tts/TtsService.java