• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/speech/
History log of /frameworks/base/core/java/android/speech/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
72da1e6f788ad2ca27518b630fa7d251c31d9a8b 10-May-2018 Christopher Tate <ctate@google.com> Document system activity intents that may not be implemented

All of these activity-start intents might be unimplemented on some
Android products. Document this to make sure that developers are
aware of the need to safeguard against this.

Bug: 68300743
Bug: 62201251
Bug: 69587018
Fixes: 77282739
Test: atest CtsContentTestCases:.AvailableIntentsTest
Change-Id: Ia2346d03ccb7f2bdad2b84ba9efff72413fdc3c2
ecognizerIntent.java
726b51a26e9a54b7352aad90ed15edccc44dd60d 22-Feb-2018 Eugene Susla <eugenesusla@google.com> Copy PermissionChecker from support lib and use in RcognitionService

Fixes: 73511076, 73311729
Test: presubmit
Change-Id: Ie98f67ffee4744050ac85d8b229370a16a76a194
ecognitionService.java
32011ea4f144b46b5ab64577465983caf6303f2d 13-Feb-2018 Niels Egberts <nielse@google.com> Fix race condition with calling stop() before run()

The code assumed that when stop() is called before run(), it's not
neccessary to signal mNotFull, but in rare cases the synthesizer may
already have filled the buffer before run() is called.

Test: manual

Bug: 70887227
Change-Id: I83117f3541d37830b344bc9eda34e1f380b58e76
ts/SynthesisPlaybackQueueItem.java
ce8db9911494225fcd99711d7df85a130de5a6ce 14-Dec-2017 Jeff Sharkey <jsharkey@android.com> Add more IntDef prefixes for auto-documenting.

Test: builds, boots
Bug: 70177949
Exempt-From-Owner-Approval: annotation-only changes
Change-Id: I76dde6054e06f52240bd4b1a0f196dcb74623608
ts/TextToSpeech.java
35e6bb474df3a42c81a44941c178c2118224ac41 18-Jul-2017 Kazuhiro Inaba <kinaba@google.com> TTS: Fix a race condition between enqueueSpeechItem and stopForApp.

When speak() is immediately followed by a stop(), the speak may not be
stopped at all due to a race condition.

Bug: 63649835
Test: android.speech.tts.cts.TextToSpeechServiceTest#testSpeakStop
Change-Id: Iae5660b455f5d845aa119c902057e2ca7131ce1b
ts/TextToSpeechService.java
a81d17b7959a67cbf12b389938dd2cd731893475 25-Jul-2017 Kazuhiro Inaba <kinaba@google.com> TTS: Ensure to callback onStop() from SynthesisPlaybackQueueItem.

The previous implementation calls back the dispatcher only at the end
of run() loop. It means, if stop() is called after enqueueing and
before running, none of onSuccess, onStop, or onError is called for
the items in the queue.

Bug: 63649835
Test: android.speech.tts.cts.TextToSpeechServiceTest#testSpeakStop
Change-Id: Ib20cb0e9157859866f694439858a27369ba8026e
ts/AudioPlaybackHandler.java
ts/SynthesisPlaybackQueueItem.java
000ce805050f0bdbf485464b84eb2c08bca5ad72 29-Apr-2017 Jeff Sharkey <jsharkey@android.com> Updates based on API council guidance.

Test: builds, boots
Change-Id: I223faf55c1e1b4d81d11b4c8b2d93ccd131c969b
Fixes: 37775662
Fixes: 37748635
Fixes: 37673408
Fixes: 37672564
Fixes: 37672218
Fixes: 37638323
Fixes: 37637423
ts/UtteranceProgressListener.java
04637f3d4d68f6e5a4820e207b444d93704649b6 12-Apr-2017 Niels Egberts <nielse@google.com> Document examples where a developer might use the APIs.

Test: mmma frameworks/base/
Bug: 35767714

Change-Id: I845db36869b84a18e79d7fe28f10031cfe836617
ts/SynthesisCallback.java
ts/UtteranceProgressListener.java
53e100c468861807a9fef5b1b18a1c9533bad2fe 27-Mar-2017 Amith Yamasani <yamasani@google.com> Provide deprecated API to avoid build breakage

Restored onUtteranceRangeStart() temporarily as a deprecated API.

Bug: 36646809
Test: N/A
Change-Id: I7da927aca4f4ad1f5cc76564e8fdc4261849898b
ts/UtteranceProgressListener.java
5d0ea0fe210db85a8a8a44c63d8fef195e206abb 21-Mar-2017 Niels Egberts <nielse@google.com> Add time markers to synthesizeToFile API.

Also rename onUtteranceRangeStart to onRangeStart based on feedback from
the API council.

Bug: 35767714
Bug: 35767290
Test: cts-tradefed run cts-dev --module CtsSpeechTestCases
Change-Id: I2c17a06e401313d4f35e5ec4958c2251c195ef05
ts/FileSynthesisCallback.java
ts/ITextToSpeechCallback.aidl
ts/PlaybackSynthesisCallback.java
ts/SynthesisCallback.java
ts/SynthesisPlaybackQueueItem.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
07d98a9d684fd82d004962a59806fa0506e6c550 14-Feb-2017 Sergio Sancho <ssancho@google.com> Ensure we set the notification marker position by calling updateMarker()
just after the AudioTrack is initialized.
This solve the issue with cached synthesis in which updateMarker was
called before AudioTracker initialization and we never got the
callbacks.

Test: Built android and flashed to a device.
Change-Id: I9053d1d046cc9a76aeedd307d5d48920e26e584d
ts/SynthesisPlaybackQueueItem.java
7c810edbce633883a3eafc5a090e5584835b4f09 08-Feb-2017 Sergio Sancho <ssancho@google.com> Merge "Ensure default pitch is used when none is specified."
b0cde2cabaab13bdc20dbbf1806b96760e666e5c 26-Jan-2017 Sergio Sancho <ssancho@google.com> Ensure default pitch is used when none is specified.

Test: Manual
Change-Id: I09ab4ccea439d01c65a06c3c44b4ff210ddf7f54
ts/TextToSpeechService.java
65c50784564d0bae9276fde5472dd8898a781bcd 23-Dec-2016 Niels Egberts <nielse@google.com> Implement time markers for TTS.

The service can inform the framework at which frame a part of the input
is spoken, and that information is then relayed to the client.

This can be used to highlight the currently spoken word/sentence or to
resume synthesis requests at the start of the last word/sentence.

Test: manual
Change-Id: Ie20a6764a8788cc3539cb058425e55eb6fde07db
ts/BlockingAudioTrack.java
ts/ITextToSpeechCallback.aidl
ts/PlaybackSynthesisCallback.java
ts/SynthesisCallback.java
ts/SynthesisPlaybackQueueItem.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
9b01193770fe57cab003e7ab3d35749bb82dd88d 03-Jan-2017 Niels Egberts <nielse@google.com> Merge "Remove refernces to V1 API, as V2 doesn't exist anymore."
01dedf59db924726ee323aac89708031ce8f320f 23-Dec-2016 Niels Egberts <nielse@google.com> Remove refernces to V1 API, as V2 doesn't exist anymore.

Also ran formatter on modified lines.

Test: Refactor only, CTS tests still passing.
Change-Id: I1309cfa8e9e731d3450c13d96038e6b5d53a12e1
ts/EventLogger.java
ts/EventLoggerV1.java
ts/TextToSpeechService.java
ts/TtsEngines.java
2c80a03823d114f968039fb5d09948d76352e03c 23-Dec-2016 Niels Egberts <nielse@google.com> Remove redundant public modifiers in interfaces.

Also applied formatter on modified lines.

Test: refactoring CL. Existing unit tests still pass.
Change-Id: I9a7c33e7590260ede0811dd1b50b565b0f8d2f87
ts/SynthesisCallback.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
10db95b316a29196ce39635682c07a2a414a09e7 07-Apr-2016 Niels Egberts <nielse@google.com> Fix issue when QUEUE_DESTROY arrive at the same time.

When multiple QUEUE_DESTROY messages arrive in a short timespan, some
messages were not flushed. This is because every QUEUE_DESTROY message
resets mFlushAll just before it starts playing itself. The solution
is to keep a counter of the amount of flushes that are still behind it on
the queue and keep flushing until the last one is reached.

Bug: 27555444
Change-Id: Ic24aa2250bf684e74b541907e4c57e0d5f0069ca
ts/TextToSpeechService.java
33b840444f5a481dd31e129079d3c0cf3acdf80e 08-Mar-2016 Glenn Kasten <gkasten@google.com> Use audio_session_t consistently

Also prefer AudioManager.AUDIO_SESSION_ID_GENERATE over
AudioSystem.AUDIO_SESSION_ALLOCATE, because
AudioSystem.AUDIO_SESSION_ALLOCATE is @hide.

Bug: 27562099
Change-Id: I5924554feb919db7f2390f5b062faedd515421af
ts/AudioPlaybackQueueItem.java
ts/TextToSpeechService.java
c99ba1c3edf725e070383b27724c9ed63e1e5765 20-Nov-2015 Niels Egberts <nielse@google.com> API to listen in on the synthesized audio.

Change-Id: Ic943d39a0540f0061ef6f629e4934dc71f69ab6b
ts/FileSynthesisCallback.java
ts/ITextToSpeechCallback.aidl
ts/PlaybackSynthesisCallback.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
c9bd275db558c75b96370503223b120b6c8662d2 09-Dec-2015 Niels Egberts <nielse@google.com> Merge "Fix checks for audio format."
9b2b2f50909b0278fee7f26d0070f318fd6b354a 08-Dec-2015 Niels Egberts <nielse@google.com> Fix checks for audio format.

Change-Id: I43e9a94f8ddd46f72d24e06d72702f354bbeae46
ts/FileSynthesisCallback.java
ts/PlaybackSynthesisCallback.java
568f4de11a87308cbcb888083f02818a8290a7d7 03-Dec-2015 Neil Fuller <nfuller@google.com> Merge "Fix @code escapes"
71fbb81b14958b80fe55738607740c6630e4e9da 30-Nov-2015 Neil Fuller <nfuller@google.com> Fix @code escapes

The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
Change-Id: Ib38a0fa2dd2a3d68e467f78a812071e763d7e881
ecognitionListener.java
ecognitionService.java
453c13f77121641a52d8b422a527feb7b3d3b8ab 20-Nov-2015 Niels Egberts <nielse@google.com> Small refactoring for FileSynthesisCallback.

Removed unused callerIdentity member and removed null checks
for the dispatcher.

Change-Id: I2983f5d48a7a593bc998ba4e033f1e815fa61819
ts/FileSynthesisCallback.java
ts/TextToSpeechService.java
5fd28893f299cc069257de2199f91762dfba16b1 23-Nov-2015 Niels Egberts <nielse@google.com> Fix docs build failure.

Change-Id: If8d215f34a48e0c61aec0d35f10f1bfd633a4254
ts/SynthesisCallback.java
a24b50bee1aca19028477b235862bcd2c37135ed 20-Nov-2015 Niels Egberts <nielse@google.com> Restrict audioformat to 8bit, 16bit or float PCM with an annotation and
a warning.

TextToSpeech.synthesizeToFile has only ever worked with 8bit and 16bit
PCM. In case of float PCM an invalid file would be generated and in case
of other encodings the TTS engine would crash.

Also add more annotations to SynthesisCallback.

Change-Id: I1c44a44509e9b53bb2e1b0f2044b1a5919875e1c
ts/FileSynthesisCallback.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisCallback.java
ts/TextToSpeech.java
54545f7e655f4dc3d9f75440a440950006fdaffd 05-Aug-2015 Niels Egberts <nielse@google.com> NPE occured when trying to parcel voice features.

The default features member should be an empty list instead of null.

Bug: 22404239
Change-Id: Ia39982f17fd3b3cd0f3556435170aed2fac14fb8
ts/TextToSpeechService.java
992ea1553c3ae6766505f084061c5ef2321229b7 26-Jun-2015 Niels Egberts <nielse@google.com> Fix crash with engines that don't override getVoices().

The name of the voices was not normalized in getVoices(), therefore if
you use getDefaultVoiceName, that name possibly doesn't appear in
getVoices(). The framework would then run into a NullPointerException.

This was caught by the cts tests. Also added a few more log statements.

BUG: 22115315
Change-Id: I51404ddcd1bc10dd3e1ddaac410cfa9873bf1438
ts/TextToSpeech.java
ts/TextToSpeechService.java
b39dfe87b89e3773910202f2e94b9860236551d9 16-Jun-2015 Narayan Kamath <narayan@google.com> Delete android.speech.srec.*

This code had an undeclared dependency on libsrec_jni which
we no longer build.

bug: 21855957
Change-Id: Ie00645960b18aaa2a7d944a2ad31ff57e0b0b2ba
rec/MicrophoneInputStream.java
rec/Recognizer.java
rec/UlawEncoderInputStream.java
rec/WaveHeader.java
rec/package.html
f77b2de1a9affa877f35f3efb23dfd50a1e9af0a 12-Jun-2015 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fixes for API Review: android.speech.tts

Bug: 21571893
Change-Id: Icd25f4aa9a465050c7410c7bfec004a71ba24548
ts/UtteranceProgressListener.java
8fedcdad3691e613ed192f4beea18926056d251d 27-May-2015 Cedric Ho <cedricho@google.com> Add getCallingUid() to RecognitionService.Callback.

Change-Id: I596471625eee24ec93d08650c33461d35ad0aa07
ecognitionService.java
837fba984eee8da5badeb2474ca147b8a9911e8a 16-Feb-2015 Niels Egberts <nielse@google.com> Don't strip country and variant from locale.

When the synthesizer returns LANG_AVAILABLE or LANG_COUNTRY_AVAILABLE
for a certain locale, we strip the country and variant from the locale
before asking the synthesizer for the default voice name for this
locale.

This can prevent the synthesizer from picking the right locale. For
instance it prevents the synthesizer from picking en-gb if en-au is
requested, now it can only have a single preferred voice for all English
countries.

The solution is not to strip the country and variant from the locale.
This is not likely to break anything, because the input to
onGetDefaultVoiceNameFor was never expected to be a subset of all
supported language-country-variant combinations. The default
implementation handles this correctly.

Change-Id: I017f69d321039c7aa7a3ef5a09ba138e35b66670
(cherry picked from commit 4758e99783493fc546e6819b5fe9d44e1ef8c318)
ts/TextToSpeech.java
ccc6e57848dc5ddc2e3448497517c1c38f8c3482 28-Apr-2015 Cedric Ho <cedricho@google.com> Add android.speech.RecognizerIntent EXTRA_PREFER_OFFLINE to indicate
whether to only use an offline speech recognition engine.

Change-Id: I15fe9b31f74af1438a018a76a9c7755b43bdc835
ecognizerIntent.java
f3d78656df5ad681db2d087f8152a5ec27036d8d 10-Apr-2015 Niels Egberts <nielse@google.com> Fix parens typos in documentation.

Change-Id: I4853ed72904985b1dab11f26cd6c5a332b884fc8
ts/TextToSpeech.java
417ee5ba89f7e0fe5efd34fce74bf1ee5923d976 11-Mar-2015 Tor Norbye <tnorbye@google.com> Add resource type annotations to some APIs

Change-Id: I37c8afdaea455aa92bc8270bb2dfd60616c5f9bc
ts/TextToSpeech.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
ts/AudioPlaybackQueueItem.java
ts/BlockingAudioTrack.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/TtsEngines.java
7b9c912f536925ac6ec43935d6e97506851b33d6 31-May-2013 Tor Norbye <tnorbye@google.com> Add @ResourceInt annotations on APIs

Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
ts/TextToSpeech.java
4b73867a12a9339c7788e8949aac4a32d2eee22b 19-Nov-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add UtteranceProgressListener#onStop callback

New UtteranceProgressListener callback that allows
to detect a call to TextToSpeech#stop() (or QUEUE_FLUSH usage)
from the same client, or a QUEUE_DESTROY usage from any other
client (Talkback uses it to preempt other users of TextToSpeech
queue). This change is required for seamless Books read aloud
feature+Talkback usage.

+ Fixes for broken tests/TtsTests

Bug: 17901521

Change-Id: I30d2f297bb7c8d05cbeb16f63e85c1be0cca5c84
ts/ITextToSpeechCallback.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
96156979022a6e1af4b29051aedd0d8e237018e8 02-Oct-2014 Jeff Brown <jeffbrown@google.com> Fix race in RecognizerService teardown.

Use a WeakReference to refer to the outer class to prevent leaks.
Ensure atomicity of access to the reference.

Bug: 17584947
Change-Id: I7ad7c7793b60fa125e04fc4d803ed905e8a00a95
ecognitionService.java
c1fb6dc1a494d73a080348d16b96e70f5735e036 01-Oct-2014 Jerome Poichet <jpoichet@google.com> Make sure cancel is called on tear down.

- Make sure cancel is called when consumer of SpeechRecognizer calls
destroy.
- If consumer goes away, make sure to call cancel as well.

b/17584947 Pressing mic button in Music hoses audio

Change-Id: Ibe1198b37fe6167493a8694f9089d970f1eb07de
ecognitionService.java
peechRecognizer.java
6ddd9c29b376fda27c4df3b18d6a67de14a633ca 25-Sep-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix ambiguous TTS#playSilence method.

Due to recent fixes for TTS API review (b/17389935)
overloaded playSilence method became ambiguous when
the last argument is null. This change renames the new
method to playSilentUtterance solving the issue.

Also, since LMP API level is 21, I updated invalid
references to it as API level 20 inside speech.tts.

Bug: 17389935
Change-Id: I9f9fae988240d1cec45d44650e53ffc29803ccac
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
f9ba548f210b0ed071ff7d597ddf2209af817294 22-Sep-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix issues with new TTS API

Bug: 17389935
Change-Id: I59234b3222f59dc89be7e40f7d4706b1f8c610ce
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/Voice.java
3786bc549891592335be0f454609d9c626d69ef4 11-Sep-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Replace TreeSet with HashSet.

Both Locale and Voice do not implement Comparable.

Bug: 17467923
Change-Id: I683577e5b18ae1892e1ccea5ea241e1d016c9517
ts/TextToSpeech.java
35c7698a1b17c3e4ca0eae753e68bf069a463d70 05-Sep-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> API review requests for the TTS package.

- New TextToSpeechService methods are no longer protected.
- s/getRequiresNetworkConnection/isNetworkConnectionRequired
- New TextToSpeec#play.. methods use a Bundle instead of a HashMap
- New synthesizeToFile(), addSpeech(), addEarcon() methods
take a File instead of a String with filepath.
- TextToSpeechService#s/isValidVoiceName/onIsValidVoiceName

Bug:17389935,17253934
Change-Id: Iec76f59015c34104683c050fe1ff1ceccd604134
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/Voice.java
fd80746bb9d67be3a9f87dcb9264785a53631b74 05-Aug-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Set the TTS voice name for the default language.

This changes makes the initial, default language set and
the #setLanguage call with the default language as input
exactly the same.

Previously, the requests made after the initial default language
set were missing the name of the default voice.

+ Some tests clean-up. Some of them fail due to issues with
Locale#toLanguageTag upper-casing the variant field.

Change-Id: I5470617007fe45462b7198bf62a03eb5fe47a590
ts/TextToSpeech.java
289cc8e887f786f557faab226a1e01abb9a632a6 19-Jul-2014 Jean-Michel Trivi <jmtrivi@google.com> API for audio session ID generation

Expose the value used by the framework to generate an audio
session ID when a value isn't known.
Rename allocateAudioSessionId() to generateAudioSessionId()
as this operation doesn't "allocate" anything, and there is
no allocated resource to free after this operation.

Bug 16401631

Change-Id: I7a7bc05b39ea0b024ff225254eb755a9c85a2ad9
ts/TextToSpeech.java
672695e42387a024083d198f3d665f354ef1d27c 14-Jul-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add AudioAttributes support in the TTS.

Bug: 16259299
Change-Id: I53f4f7a2b9a3b9a422affaf6abe4aca258e67d7f
ts/AudioPlaybackQueueItem.java
ts/BlockingAudioTrack.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
cafd15216ee66a302ee69c0ea0c6c63b07a2f68c 08-Jul-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix TTS regression, TTS#stop can result in #onDone callback.

Regressinon in the L, side effect of the rewrite. In pre-L android,
UtteranceProgressListener#onDone was called (but only if client
received UtteranceProgressListener#onStart for the utterance in progress)
after client called TextToSpeech#stop. This changeset reinstates
this behaviour.
+ Removed not used fallback callback

Bug: 16149006
Change-Id: I2eb5ede0abe6f5717b07f09adad861465575c238
ts/ITextToSpeechCallback.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
34d4ac88f70c37cbe143ab01b40f343bcf02035f 08-Jul-2014 Niels Egberts <nielse@google.com> Remove Markup and Utterance classes.

Markup is replaced by TtsSpan, and the Utterance class will be replaced
by TtsSpanBuilder.

Change-Id: I443786681f065ad8458fc05825de3ef182db8062
ts/Markup.java
ts/Utterance.java
ad6df74ada7c478257425b746588f22eeec199a6 01-Jul-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add support for voices in TTS API.

Voices allow to expose multiple backends/voice packs for a single
Locale. This is an attempt to port this feature from V2 API.

Bug: 15834470
Change-Id: I0117de238cfcf028bcec5344b8d65c960b96b98c
ts/ITextToSpeechService.aidl
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/TtsEngines.java
ts/Voice.aidl
ts/Voice.java
f8fd3420919a2693b644294d2dbd432b19370f3d 02-Jul-2014 Niels Egberts <nielse@google.com> First argument of playSilence is incorrect in javaDoc.

Change-Id: Icc059471e61fb6154108b74ea45cb06554d80631
ts/TextToSpeech.java
795d777ee13405d8b6ba6c889ea3ef49713892a8 02-Jul-2014 Niels Egberts <nielse@google.com> Forgot to deprecate a method in current.txt before merging earlier change.

Also includes a comment fix and line size changes in TextToSpeech.java.

Change-Id: Ia5842b694bca6cd9cae035164ffc605451e72d8b
ts/TextToSpeech.java
df7deefe8ebcbd619f27e2d394d7e5d0d7af33d1 25-Jun-2014 Niels Egberts <nielse@google.com> Support for CharSequences in the V1 API.

Two newly deprecated methods:
- TextToSpeech.speak (over TextToSpeech.speak with mandatory utteranceId)
- SynthesisRequest.getText (over SynthesisRequest.getCharSequenceText)

Change-Id: I8a75ed335c91074c72d6ef374ff8b9c79a7c208d
ts/ITextToSpeechService.aidl
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
5cbf17ca053b09beadd0b031a46ce193ab27a0f8 18-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add support for audio session id in the TTS

+ #playEarcon & #queueAudio respects request Volume/Pan settings.

Bug:15432115
Change-Id: I136afef77afbc56c34810c64123f7be4b431d378
ts/AudioPlaybackQueueItem.java
ts/BlockingAudioTrack.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisPlaybackQueueItem.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
fc4b2890378eb1b6e0b11d60d703eb6854268064 26-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove TextToSpeechClient API.

Removed all of TTS V2 api with exception of error codes.

Bug: 15834470
Change-Id: I9d9d2aad01811af9b86bf7a3fd018a8d4e5c2f33
ts/AbstractEventLogger.java
ts/AbstractSynthesisCallback.java
ts/AudioPlaybackHandler.java
ts/AudioPlaybackQueueItem.java
ts/EventLoggerV1.java
ts/EventLoggerV2.java
ts/FileSynthesisCallback.java
ts/ITextToSpeechCallback.aidl
ts/ITextToSpeechService.aidl
ts/PlaybackQueueItem.java
ts/PlaybackSynthesisCallback.java
ts/RequestConfig.java
ts/RequestConfigHelper.java
ts/SynthesisCallback.java
ts/SynthesisPlaybackQueueItem.java
ts/SynthesisRequestV2.aidl
ts/SynthesisRequestV2.java
ts/TextToSpeech.java
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
ts/VoiceInfo.aidl
ts/VoiceInfo.java
6dfa6e2a9be08a3a0f152a7b772efc8ce2469bce 13-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix typo and broken sdk build.

Change-Id: Icd1641955d1ca88396219db05312a4a9fd77ea80
ts/TtsEngines.java
e31ab2d8fcb7413e4775a7cfdd340636a9eea7e7 13-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Merge "Expose "default tts locale" to the TTS V2 API."
1b5637ee32c5d4e5d857fa86a1b1c1db23d027b7 30-May-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Expose "default tts locale" to the TTS V2 API.

This change allows TTS V2 API client applications to honor the
"default TTS locale" set by the user in the TTS settings.

Note that the TTS V1 API uses 3 character country/language codes
for locale encoding. It's the only system component that does
that. TTS V2 uses the standard, valid Locale objects. The default
TTS locale setting was stored as a 3 character locale string with
"-" as the separator.

This change switches the TTS locale setting format to the output of
Locale.toString() call (on a valid Locale object). Methods used for
reading this value can interpret both forms and try to return a valid
Locale object as an output.

Change-Id: Ice2e6c25a43eb9dd6e17d371ee582c2dae3329c9
ts/RequestConfigHelper.java
ts/SynthesisRequestV2.java
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
ts/TtsEngines.java
d3919a318a339d3bde425b66ae0a4a4640eb5210 12-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add missing copyright headers in speech.tts

Change-Id: Icf1c3cf71ac45cb00606c8034af375e657c31ea5
ts/RequestConfig.java
ts/RequestConfigHelper.java
ts/SynthesisRequestV2.java
ts/VoiceInfo.java
e3abed72d6ab02eb1dc1f8b128213c70422f3917 03-Jun-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add missing #isSpeaking to TTS API V2

TextToSpeech#isSpeaking queries TTS engine if it's
currently outputting any audio, it was present in the
TTS API V1.

Change-Id: Iee4a91976b9b80653811fb458ac48d75418752cf
ts/TextToSpeechClient.java
a6cc9b85ad7d4fdb4fef9666563c91bd878631f5 14-May-2014 Niels Egberts <nielse@google.com> Markup support for framework

Change-Id: Ia5ad6cff7593c295944a90775a1b061c95f5cc3f
ts/Markup.java
ts/SynthesisRequestV2.java
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
ts/Utterance.java
067a21b2469a689dc075e8897756f2b3acb4495a 15-May-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> TTS Connection callbacks are called on main thread.

After experimenting with the new TTS API I found out that receiving
ConnectionCallbacks#onEngineStatusChange and #onServiceDisconnected
callbacks on non-main thread are problematic. They are very rare and
overhead of dealing with them in separate thread is high - in most
cases user just wants to process those callbacks in the main thread
context. This change should make new API usage easier.

+ Fixed default values of speech speed in voices from v1->v2 wrapper.

Change-Id: I76d3b607b3b931b7eb10aa180775fd3607c43bd9
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
de1b5ae7a7567f03cfeecf1a62ddf429cb840474 12-May-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add (hidden) TTSEngines#isLocaleSetToDefaultForEngine method.

TTSEngines#isLocaleSetToDefaultForEngine allows the Settings application
to distinguish if the TTS engine locale is blank (set to follow the device
locale) or if it's set to the same value as the device locale.

Change-Id: I462584547d69c21cde4ac317c8a3b3bbc1680cae
ts/TtsEngines.java
34a37bdebb3d606dac7c7d1dd7a0effdb59bd3d6 09-Jan-2014 Glenn Kasten <gkasten@google.com> Add AudioFormat.getBytesPerSample and use it

Change-Id: I90a40987ea99006af4a6e31136078c04976eb54d
ts/BlockingAudioTrack.java
ts/FileSynthesisCallback.java
5decae39b6fd2091db000120f0c86aa27efa29ed 10-Apr-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Remove "final" from TextToSpeechClient class.

It hinders attempts to mock the TextToSpeechClient
class in tests.

+ javadoc typo fix

Change-Id: I5b4590824d7e89b58451bdde457a627786333373
ts/TextToSpeechClient.java
a1788af3440fef04d16067223a31e9dced3500b9 24-Mar-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Documentation update for TextToSpeech#getFeatures

Added note that it may return null in case of error.

Bug: 12323454
Change-Id: I246f7e894c5e8a6421bdd72c7623c72e8a13fc3a
ts/TextToSpeech.java
952c0fd7bc6bb3ec9e0252f0799bbeabcf70dc1a 21-Mar-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Do not reset language in case of the TTS service reconnect.

Bug:12428804
Change-Id: I0b1b1274c47edd28eae1701808d50aeb6c36324c
ts/TextToSpeech.java
b37866db469e81aca534ff6186bdafd44352329b 17-Mar-2014 Mark Renouf <mrenouf@google.com> Make InternalListener static to avoid referencing SpeechRecognizer.

Change-Id: I03bc1a5f5188551608395f3468aa69e622601820
peechRecognizer.java
8399aae0a0532863752e593050e8810d03737936 22-Nov-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add public SynthesisRequestV2 constructor.

While implementing the new TTS API, I found out that it's very difficult
to create an SynthesisRequestV2 instance for testing purposes - it's
a final class, with no publicly visible constructors.

Bug: 8259486
Change-Id: I88b84fd8ad1ac6960f3932863ca758657f9547ff
ts/SynthesisRequestV2.java
1ca1d886588ce54ab0c0229eabc49fa8dff40bc5 29-Jan-2014 Przemyslaw Szczepaniak <pszczepaniak@google.com> Allow clients to extend the TTS UtteranceId class.

This change allows TTS clients to create (and use) classes derived from the
UtteranceId class. This allows to attach a custom data and methods that
can be reached later in callbacks that take the UtteranceId instance as
parameter.

Also, since we can't depend on the identityHashCode results being unique,
this change adds AtomicInteger to generate unique identifiers for UtteranceId
instances.

Bug: 8259486
Change-Id: Id1e9eabc890ec585a7f8570fd20e287dcda9a11d
ts/TextToSpeechClient.java
e974f9b3596e63d38ac14facc1398b90b6921419 16-Jan-2014 Elliott Hughes <enh@google.com> am 8bb8caa2: am c12410f1: am c3be4ba3: am 12377887: am 991e9818: Merge "AArch64: Use long for pointers in speech/srec classes"

* commit '8bb8caa2b1c38bdc273082b710e2d089889aea5a':
AArch64: Use long for pointers in speech/srec classes
bdebe1ad9573eec25f4acff89085530f490cc178 06-Jan-2014 Ashok Bhat <ashok.bhat@arm.com> AArch64: Use long for pointers in speech/srec classes

For storing pointers, long is used in speech/srec classes,
as native pointers can be 64-bit.

Note corresponding JNI files are in the external/srec project
under srec_jni directory.

Change-Id: Iacd10840e81f5acc3eb202424f83b49ae4eb23ab
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
rec/MicrophoneInputStream.java
rec/Recognizer.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
rec/Recognizer.java
ts/FileSynthesisCallback.java
ts/TextToSpeechClient.java
ca4f1fc57c86fb7e6094ba4117a027fffd79d227 20-Sep-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Catch MissingResourceException caused by bad locale in TTS.

Malformed locale objects will throw MissingResourceException
from getISO3Country() and getISO3Language() methods.

This change guard against the case where device default locale is
malformed and user tries to get TTS default locale (b/10814409)
and case where user tries to pass bad locale as argument to
TextToSpeech.getFeatures method (b/10494193).

Bug:11429552
Bug:10494193
Bug:10814409
Change-Id: Ie54d5d30bb042324da0c0d19b77c3a932c5642f7
(cherry picked from commit 58f16653728417100c61b5cb63298e0e3bb528dc)
ts/TextToSpeech.java
ts/TtsEngines.java
d41b852f92ec2def734eac68a76ecbcea17e3cc9 29-Oct-2013 Siva Velusamy <vsiva@google.com> Fix Javadoc error

This fixes an error introduced with I180296d413a18301cead1c8e3212de2bd0c7e32d

Change-Id: I06512a0fb388738fae5bba5540189095f23f1e2a
ts/SynthesisCallback.java
97cd647fcd89c1a7a4448c4fc4d9ad906f8cf2a1 25-Oct-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> TTS API: Replace "voice id" with "voice name"

"Voice id" and "voice name" are both used to reference a voice in a
speech synthesis request. Voice id was a random integer, where
voice name is human readable string, that provides more debug
information and readability. Also, it's expected that voice name
will stay consistent, and won't change during the life of the speech
connection. Though, it may disappear.

Change-Id: I180296d413a18301cead1c8e3212de2bd0c7e32d
ts/EventLoggerV2.java
ts/RequestConfig.java
ts/SynthesisRequestV2.java
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
ts/VoiceInfo.java
eb337054edef31c9bdab4a59913f42038d5deaae 25-Oct-2013 Nick Kralevich <nnk@google.com> fix javadocs.

Change-Id: Ie008e28db0d3de22c933b4ef1ccbd3f082010a77
ts/RequestConfig.java
ts/SynthesisCallback.java
ts/TextToSpeech.java
ts/TextToSpeechClient.java
90d15d2371ad85f22254be6985455aa2baa5d15d 14-Jun-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Add new TTS API.

Much of existing API is reused (mostly on the service side). The new API
provides better support for network-based synthesis, defines explicit
synthesis fallback support, has better error handling, allows for multiple
different voices per locale, features enumeration and custom extensions
on a voice level and many more.

If a service does not provide a V2 implementation, a basic adapter
from V2 to existing V1 implementation is provided.

Bug: 8259486
Change-Id: I797b7fc054f11c9b0d930f4dea582e57596ea127
ts/AbstractEventLogger.java
ts/AbstractSynthesisCallback.java
ts/AudioPlaybackHandler.java
ts/AudioPlaybackQueueItem.java
ts/EventLogTags.logtags
ts/EventLogger.java
ts/EventLoggerV1.java
ts/EventLoggerV2.java
ts/FileSynthesisCallback.java
ts/ITextToSpeechCallback.aidl
ts/ITextToSpeechService.aidl
ts/PlaybackQueueItem.java
ts/PlaybackSynthesisCallback.java
ts/RequestConfig.java
ts/RequestConfigHelper.java
ts/SilencePlaybackQueueItem.java
ts/SynthesisCallback.java
ts/SynthesisPlaybackQueueItem.java
ts/SynthesisRequestV2.aidl
ts/SynthesisRequestV2.java
ts/TextToSpeech.java
ts/TextToSpeechClient.java
ts/TextToSpeechService.java
ts/VoiceInfo.aidl
ts/VoiceInfo.java
58f16653728417100c61b5cb63298e0e3bb528dc 20-Sep-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Catch MissingResourceException caused by bad locale in TTS.

Malformed locale objects will throw MissingResourceException
from getISO3Country() and getISO3Language() methods.

This change guard against the case where device default locale is
malformed and user tries to get TTS default locale (b/10814409)
and case where user tries to pass bad locale as argument to
TextToSpeech.getFeatures method (b/10494193).

Bug:10494193,10814409
Change-Id: Ie54d5d30bb042324da0c0d19b77c3a932c5642f7
ts/TextToSpeech.java
ts/TtsEngines.java
f702286c94f0df9fc147135c19f12ef34e8594c9 11-Sep-2013 Sandeep Siddhartha <sansid@google.com> Merge "Remove HotwordRecognition APIs" into klp-dev
65a6ba347848069b198869a7500d07a419aaf15d 11-Sep-2013 Sandeep Siddhartha <sansid@google.com> Remove HotwordRecognition APIs

- and its usage from Keyguard

Bug: 10708010
Change-Id: Ic4a695a1d0e9312706a3b4ff01e59e2567b6ad9c
otword/HotwordRecognitionListener.java
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
otword/IHotwordRecognitionListener.aidl
otword/IHotwordRecognitionService.aidl
2921cee3048f7e64ba6645d50a1c1705ef9658f8 10-Sep-2013 Marc Wilson <marcwilson@google.com> Update documentation for speech APIs.

Makes it clear that the intent and service APIs are likely to stream
audio over the network and notes that impact this has on bandwidth and
battery life.
Also clarifies that the service API should not be used for continuous
recognition as a result. The intent API only runs when the activity is
in the foreground so I didn't mention continuous recognition for it.

Bug: 10674392
Change-Id: Ib5e0c16b3124f4b7d892ef5bd4167f23662d2ca3
ecognizerIntent.java
peechRecognizer.java
bc916b221a344d0d2f8f6353c5162f9a6d61eb8b 10-Sep-2013 Sandeep Siddhartha <sansid@google.com> Fix checkbuild error due to javadoc reference to hidden class

Change-Id: I128b8a6dd725468d0c9503b8229f8939fddb51bc
otword/HotwordRecognitionService.java
1f0ef2cc33e5b8fe00a869c22eabfd08cf7de504 07-Sep-2013 Sandeep Siddhartha <sansid@google.com> Move public consts to HotwordRecognitionService

- The HotwordRecognitionService is the only public component of
Hotword recognition allowing others to implement hotword recognition
- The client API is not available for use by all, hence the consts need
to be moved to the service class.
- Ideally we'd have retained the public consts in the client side API
(HotwordRecognizer)

Change-Id: Ibd0d1c0d0514ec4e8f7c284e22c5fa6b7ef3df26
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
05203c1e4bd86cccf0959b510663951a4d565e93 07-Sep-2013 Sandeep Siddhartha <sansid@google.com> Fixing build break

Change-Id: I89d1416b356423ee795f01b4c3200bcaa3ec8389
otword/HotwordRecognitionService.java
c73c1783744baeeabc620ecede545e0ffbd034d4 06-Sep-2013 Sandeep Siddhartha <sansid@google.com> Add permission checks and unhide the Hotword recognition APIs

- Also tweak the API a little to send an intent on hotword being
recognized.

Change-Id: I8a3fedaec4e1db595ed058089734d25c7957111e
otword/HotwordRecognitionListener.java
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
otword/IHotwordRecognitionListener.aidl
61dda198598e95971ca224e3bcb7393f30e45657 02-Sep-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix SynthesisRequest javadoc

Bug: 10548784
Change-Id: I76a89bb9accdeee00c60a668adbdd789b995cd92
ts/SynthesisRequest.java
823393477befb31c6bb82696307b45c50915fb52 27-Aug-2013 Sandeep Siddhartha <sansid@google.com> Tweak the HotwordRecognizer API

- Make it more intuitive by enforcing callers to set a listener while
starting recognition
- Fix TODO to resolve the ComponentName if none is provided
- Unbind from the Hotword service if stopRecognition is called
- Get rid of the callback in onStopHotwordRecognition

Change-Id: I8edad0ef0f3671283aeb51eaed1d3b8dab01baa0
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
407d794a9d97e9933433d12fb53511296e8a3cfc 27-Aug-2013 Sandeep Siddhartha <sansid@google.com> Touch up the Hotword API

- Few comments got missed from the last review

Change-Id: I933912c51794875be5d129351d4f06bc040537a6
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
637cc458096f2f9ad53728dfb9ab0511c08b4837 24-Aug-2013 Sandeep Siddhartha <sansid@google.com> Add Service API to perform Hotword recognition

Change-Id: I855330b255a12cce309aa11e0b7cde5b8e061043
otword/HotwordRecognitionListener.java
otword/HotwordRecognitionService.java
otword/HotwordRecognizer.java
otword/IHotwordRecognitionListener.aidl
otword/IHotwordRecognitionService.aidl
89a8250e242ee1d0b5b853154723b448d732b356 03-Aug-2013 Elliott Hughes <enh@google.com> am 710f3e2c: am 60ae2617: Merge "If frameworks wants ASCII casing, it should explicity ask for it."

* commit '710f3e2cc6bc2cdc2f2cddb2190823ea31efd52a':
If frameworks wants ASCII casing, it should explicity ask for it.
cb64d430627b71221c588ef5f23599dd34a89ee9 02-Aug-2013 Elliott Hughes <enh@google.com> If frameworks wants ASCII casing, it should explicity ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4
rec/Recognizer.java
e86a936afddaa823d8454c09ed43c2d864ac77eb 30-Apr-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Document the case where TTS onInit callback is called in ctor.

Bug: 8743649
Change-Id: Ibf6002f93af9d19d809679852310561e69d57c1e
ts/TextToSpeech.java
653278341d76d0b23a008087ff94250ae0beb54b 31-May-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Allow TTS service to identify caller.

Added new field (+setter and getter) to SynthesisRequest with
Uid of a calling process. TTS service will be able to discover
packages names associated with caller using
PackageManager.getPackagesForUid.

This will allow to block buggy or poorly designed programs from
an unintentional DDoS attacks against TTS service.

Bug: 8625440
Change-Id: I5ac0ea191f952495c00301f17efdf28205353ae4
ts/SynthesisRequest.java
ts/TextToSpeechService.java
40d51e70037c8d32f9bbafd54775e526d86caf23 13-May-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make TtsEngines.getDefaultLocale() method public

TtsEngines is hidden class, it's not a public API.
It's required for tracking system language setting by TTS engines
(Change: Ic4bde97ef7406adb64cc03efbe660275360ba3af )

Bug: 8613986
Change-Id: Iafafcdb244e1520893bee65febd5a137e3556317
ts/TtsEngines.java
d0b927948ec06ab90da639fe0a7bf1ec862301a0 08-May-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix for TTS.setLanguage throwing MissingResourceException

Change I766f106b9165932de17de84bdd422d0fc0ae27f1 made getISO3*
methods throw MissingResourceException if locale was invalid.
This causes regression on last android release, where invalid
locale was silently ignored.

+ fix for .isLanguageAvailable

Bug: 8709594
Change-Id: Ieada6b90dc53cfdf0a4e2b4ca69854b811d0fec2
ts/TextToSpeech.java
24943bf19d3d000f9f5840513526b48523b62c71 13-Mar-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Failing Text-To-Speech CTS tests fix.

Fix for failing android.speech.tts.cts.TextToSpeechServiceTest#testSynthesizeToFile.
In test env, ParcelFileDescriptor instance may be EXACTLY the same one that client uses.
And if it's closed by a client, then service is prevented from writing anything to the output.

Bug: 8377754
Change-Id: I7f95aae1b877e543ab02d3c548b29537aa852a89
ts/TextToSpeechService.java
7341786b138cb52eac053108b524ea3296d40f6d 06-Mar-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Forgot to rename constructor to match class name.

Change-Id: I7e66c3dd26ec7f8be381b0dfd87ac686665206cd
ts/TextToSpeechService.java
fcf671be890f9fb49067c5f86b182bf8b8e7b9c0 05-Mar-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix EBADF in TTS synthesizeToFile method.

Recent TTS change altered how the TextToSpeech.synthesizeToFile method
operates. Previously, synthesis service was responsible for creating
output file. Now, client API creates a file and then sends opened file
descriptor using ParcelFileDescriptor.

On service side, I forgot to keep a reference to a ParcelFileDescriptor object.
When GC was removing it, it was closing underlying file descriptor, resulting
in a EBADF error for all following writes to the output file.

This change makes use of a ParcelFileDescriptor.AutoCloseOutputStream to keep a
reference to the ParcelFileDescriptor. It will be referenced until we are done
with writing.

Change-Id: I8327af0eaeabaebfbbd8816d959783e89086a7c5
ts/TextToSpeechService.java
5acb33af357b56fffb055997718b1e4aa97f53fc 08-Feb-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make synthesizeToFile create file on a client side.

In previous setup, synthesizeToFile method relied on synthesizer
service to create world readable output file. This is potential
source of vulnerabilities.

This change moves output file creation to the client side, and
synthesizer service receives already opened file descriptor.

This change may break applications that are creating files in
now unaccessible locations, like /sdcard/.

Bug: 8027957
Change-Id: I97351be5d2f2f8ef9aa43d0ab08c4b825ca4c22b
ts/FileSynthesisCallback.java
ts/ITextToSpeechService.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
647abce570f3afdd667e06e9ad71738efff0e8a8 09-Jan-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Deprecate unused and implementation-specific parts of TTS API

Second changeset, first one was committed too hastily.

TTS Voice-data related API was originally written with
one engine in mind (pico sVox TTS). It exposes implementation
details that should be private to the engine implementation.

- Deprecating fields of ACTION_CHECK_TTS_DATA results that were
used by sVox language packs to find out location of voice data.
Those fields are TTS engine implementation details and should be
private:
EXTRA_VOICE_DATA_ROOT_DIRECTORY
EXTRA_VOICE_DATA_FILES
EXTRA_VOICE_DATA_FILES_INFO
- Deprecating fields of ACTION_CHECK_TTS_DATA request that are
providing unnescesary functionality (it can be easily done on client
side):
EXTRA_CHECK_VOICE_DATA_FOR
- Deprecating some of the return codes of ACTION_CHECK_TTS_DATA - they
are specific to sVox pico voice data and in all cases can be replaced
by CHECK_VOICE_DATA_FAIL result code.
CHECK_VOICE_DATA_BAD_DATA
CHECK_VOICE_DATA_MISSING_DATA
CHECK_VOICE_DATA_MISSING_VOLUME
- Changing semantics of ACTION_TTS_DATA_INSTALLED intent. It's now
more generic and covers any change of available voice data set (so, not only
adding languages, but also removing them should trigger broadcast. Adding and
removing features to existing locale (like embedded synthesis) should be marked
by broadcast as well).
- Deprecating its EXTRA_TTS_DATA_INSTALLED result field - client should discover
the change by running ACTION_CHECK_TTS_DATA intent.
- Making GetSampleText intent public again - it's used by most TTS engines to
provide unique demonstation data.
- Deprecating TextToSpeech.OnUtteranceCompletedListener - it was replaced
by UtteranceProgressListener in API level 15, but no one put deprecation tag
on it.

Change-Id: Ia58af7f218dc1568570712f435782d2003260e82
ts/TextToSpeech.java
1c2df38242c29cd7f359a6fb13dc13b387264310 25-Jan-2013 Fergus Henderson <fergus@google.com> Fix logic error in Pszczepaniak's recent change.

Also improve wording of error message.

Bug: 7666482
Change-Id: I2d2316b10fdf394bec8963327529723cbd5fbb32
ts/TextToSpeech.java
9c4012b31b0c09cb14689bd96a71aae42c8a00cd 16-Jan-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make TextToSpeech.shutdown() work before init callback.

TextToSpeech.shutdown() never worked properly if was called before receiving
onServiceConnected in connection object. Also, due to recent changes,
TextToSpeech.shutdown() did not work until async task created in
onServiceConnected returned its result to the main thread.

This change makes .shutdown() work in all those cases. To allow that
runAction can now execute code with connection that's not fully setuped
- so we can shutt it down. Also, newly created connection is now hold in
new member variable mConnectingServiceConnection, so it can be closed
before receiving onServiceConnected callback.

Also, I changed name of OnServiceConnectedAsyncTask to
SetupConnectionAsyncTask, I find it more descriptive.

Bug: 8003757
Change-Id: I41d84cfdb8fa28fe44235fb4a9764fa8f3d0643c
ts/TextToSpeech.java
176baa7de11be910c36b7b4dfa7826b55ec97963 09-Jan-2013 Przemyslaw Szczepaniak <pszczepaniak@google.com> Revert "Deprecate unused and implementation-specific parts of TTS API"

This reverts commit 8a3d9f03199b93e07a5f5edc14660eab6cd233e7

Change-Id: I5a5c18f72ae2ea73c21dc27c7469c68d6b4b4c24
ts/TextToSpeech.java
8a3d9f03199b93e07a5f5edc14660eab6cd233e7 29-Oct-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Deprecate unused and implementation-specific parts of TTS API

TTS Voice-data related API was originally written with
one engine in mind (pico sVox TTS). It exposes some implementation
details that should be private to the engine implementation.

- Deprecating fields of ACTION_CHECK_TTS_DATA results that were
used by sVox language packs to find out location of voice data.
Those fields are TTS engine implementation details and should be
private:
EXTRA_VOICE_DATA_ROOT_DIRECTORY
EXTRA_VOICE_DATA_FILES
EXTRA_VOICE_DATA_FILES_INFO

- Deprecating fields of ACTION_CHECK_TTS_DATA request that are
providing unnescesary functionality (it can be easily done on client
side):
EXTRA_CHECK_VOICE_DATA_FOR

- Deprecating some of the return codes of ACTION_CHECK_TTS_DATA - they
are specific to sVox pico voice data and in all cases can be replaced
by CHECK_VOICE_DATA_FAIL result code.
CHECK_VOICE_DATA_BAD_DATA
CHECK_VOICE_DATA_MISSING_DATA
CHECK_VOICE_DATA_MISSING_VOLUME

- Changing semantics of ACTION_TTS_DATA_INSTALLED intent. It's now
more generic and covers any change of available voice data set (so, not only
adding languages, but also removing them should trigger broadcast. Adding and
removing features to existing locale (like embedded synthesis) should be marked
by broadcast as well).

- Deprecating its EXTRA_TTS_DATA_INSTALLED result field - client should discover
the change by running ACTION_CHECK_TTS_DATA intent.

- Making GetSampleText intent public again - it's used by most TTS engines to
provide unique demonstation data.

- Deprecating TextToSpeech.OnUtteranceCompletedListener - it was replaced
by UtteranceProgressListener in API level 15, but no one put deprecation tag
on it.

Change-Id: I6609cde5c50236457f14955e2e7c0481b2b217ec
ts/TextToSpeech.java
b46533732c40c6aa4d0d7357176835a33d863234 04-Dec-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Set default language in new TTS clients.

A recent change altered semantics of getLanguage call to return client
language instead of service language. This solved problems
with interferences between two clients using different lanaguages.

This change created a bug - new TTS client instance have no language set.
Since reading user preferences requires additional permissions I've
added new tts service method - getClientDefaultLanguage that will return
user preferences.

I've also added new client method, getDefaultLanguage, that allow easy
access to this data.

Bug: 7666482
Change-Id: Ieb7d2ba3a99d20c513add97f054874720a1cd82e
ts/ITextToSpeechService.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
2d940bcbd1c472f8b11ce1495354f340604b4f2c 19-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make TTS input string limit public and documented.

TTS input limit is now publicly available from getMaxSpeechInputLength()
static method.

Bug: 7456118
Change-Id: Ib2afbb7202ad9dc15895f322fbd1480a5f1f7278
ts/TextToSpeech.java
ts/TextToSpeechService.java
13896b74194b07c821d5d89713e4e747b9b77d73 09-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> woExecute onLoadLanguage in synthesis thread.

Previously, onLoadLanguage was executed without minding synthesis queue.
Now onLoadLanguage is queued item, so it won't be executed before the items
on the queue (previously TTS could receivecall to onLoadLanguage
while synthesizing in completly different language).

I've divided SpeechItem into ControlSpeechItem and UtteranceSpeechItem.
Utterance one dispatches callbacks about synthesis progress.

Bug: 7510063
Bug: 5351864
Change-Id: Ibd156b3cecb190e5c07c4451e61121127b54d51e
ts/ITextToSpeechService.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
228323e759445398e2d723de9365da71099ec58b 12-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make getLanguage return client-set language

Previously, getLanguage returned language set on the TTS service side.
In most cases client wants to receive value that was set on the Client side
(value that was set by last call to the setLanguage). That's true, for
example, for android settings app.

This is not an issue if there's only one client, or when all clients use the same
language. In that cases, service and client languages are in sync.

But if there are multiple clients using different languages, getLanguage might
return values that were not set by the client - and that's not what most of clients expect
to happen.

Change-Id: I5fd8313725e677c20fb2a84a087fc7555897bd30
ts/TextToSpeech.java
8f3957cb91a9e1465fa11aaf4d4286d4c5a59ba7 07-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> TTS onServiceConnection moved to async task

ITextToSpeechService.setCallback (service rpc call) is no longer
executed on UI thread.

I kept OnInitListener.onInit being called on the UI thread. It's
not specified explicitly, but I don't want to introduce subtle
bugs.

+bonus import fix.

Bug: 6540404
Change-Id: I0136e7efeb374b605ed29ee8b3f550ec2bd2c356
ts/TextToSpeech.java
ts/TextToSpeechService.java
c3c427d2e3d7fbfb7cd5d6473bf203af2001bcec 16-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Revert "Make TTS input string limit public and documented"

This reverts commit f288a64f5bed290d162c1a6fd54bea7c0ba14042

Change-Id: I6f3e2a6a6a131b0422cfcdb2bda23f8ae245d774
ts/TextToSpeech.java
ts/TextToSpeechService.java
f288a64f5bed290d162c1a6fd54bea7c0ba14042 15-Nov-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Make TTS input string limit public and documented

Bug: 7456118
Change-Id: Iced44eb349e1abb551f991c2b9357a03bab3bb3d
ts/TextToSpeech.java
ts/TextToSpeechService.java
7b172a49a90ea6784dbfe0002474f9d4fd4ace1a 07-Nov-2012 Kenny Root <kroot@google.com> am 58ed5d74: am 768d9e1a: Merge "Correct executable bit for source files"

* commit '58ed5d748c0b9b64845975ef5844ad313de7c3f6':
Correct executable bit for source files
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
ts/ITextToSpeechCallback.aidl
ts/TextToSpeech.java
a6e16b86b9f708b4869e123c7c67f6d5675cca18 15-Oct-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> SynthesisCallback documentation update

Clarification about when android.speech.tts.SynthesisCallback.done()
should be called.

Bug: 2481825
Change-Id: Ic781a6facc2d9acb3f06afb952fbac0b494c56cf
ts/SynthesisCallback.java
442f1786b243923a11d7c15a32e96c7962d4b50a 26-Sep-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> TTS documentation clarification.

Bug: 7183943
Change-Id: Iffec9069bef7c9c428ebae2f84ba16ef697ffb2a
ts/TextToSpeech.java
70574efd8f7105eb73a6ffe31992ed3c5971c8cc 23-Aug-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix threading issue in BlockingAudioTrack.

This fixes the issue where one thread calls .stop() on
mAudioTrack that was released (or being released) by other thread.

Bug: 7029291
Change-Id: Ia6db803e8ee40379b63327acf578466127cfabcb
ts/BlockingAudioTrack.java
091d56cab8f6f6a3460fbb596f99b1a262948e96 16-Aug-2012 Przemyslaw Szczepaniak <pszczepaniak@google.com> Fix double call to TTS connection disconnect() on reconnect

- Sets the service connection to null when unbindService is called,
instead of in onServiceDisconnected. This avoids a double disconnect
if a call to onServiceConnected is received before a call to
onServiceDisconnected.

- Extended synchronize on runAction error handling and reconnection.
This prevents from reconnecting N times if N>1 threads enter this method
while there's issue with TTS service.

Bug:6993880
Change-Id: I5a387622c6032a18d17fc072029ae6be1a9b8e6c
ts/TextToSpeech.java
9c3d7a888d0c5c09f0153e81018ff68aa6e91712 20-Jul-2012 Narayan Kamath <narayan@google.com> Fixes to TextToSpeechService#synthesizeToFile

- Fixes a strict mode violation, defers file validity checks
to when the engine starts synthesizing audio.
- Fixes some log spam when done() is called twice.

bug:6215680
bug:5415258
Change-Id: I4001be848b5208422d4091b7398e94ed311c649f
ts/FileSynthesisCallback.java
ts/TextToSpeechService.java
ed4e541a20cc662b8399844684d18ad0060bd1cb 09-Jun-2012 Narayan Kamath <narayan@google.com> Fix bug in BlockingAudioTrack.

Will be seen when createStreamingAudioTrack() returns null,
which will happen if the audioflinger / audiomanager are unhealthy.

Also removes some confusing synchronization from this class.

bug:6636401
Change-Id: Iaf68a305665b7bc973898145e9cd1563e2569a2b
ts/BlockingAudioTrack.java
ts/SynthesisPlaybackQueueItem.java
482c9bb390f1dae8e55806431a960f9df4d2f0b8 17-May-2012 Jean-Michel Trivi <jmtrivi@google.com> New action and extra in RecognizerIntent for "hands free" voice search

New action and extra for android.speech.RecognizerIntent:
ACTION_VOICE_SEARCH_HANDS_FREE
EXTRA_SECURE

Change-Id: I1f390ede4f4087bae1781347bb211dc0a093e857
ecognizerIntent.java
c60aad2a8ab519a9f9ac03f4f9f929ded7ba2db5 06-Dec-2011 Narayan Kamath <narayan@google.com> Write unit tests for android.speech.tts.

Change-Id: Ie5b3b4cdd13be2babee9a44bae00da179b372d12
ts/TextToSpeech.java
af802c6831551323126537cf8edabea97d2fc762 05-Dec-2011 Narayan Kamath <narayan@google.com> Remove BlockingMediaPlayer.

No need to spawn a new thread for every audio item sent to
the TTS class.

Change-Id: Ia52b0951f4249b0da460a5ecaff5dd11a6e5d5fc
ts/AudioPlaybackQueueItem.java
ts/BlockingMediaPlayer.java
ts/MessageParams.java
ts/TextToSpeechService.java
67ae6bc83cf2b30b0c61b9ebba5fed7a0038549c 30-Nov-2011 Narayan Kamath <narayan@google.com> Simplify the implementation of AudioPlaybackHandler.

Now uses a queue of runnables, one per synthesis. Also
introduce an abstraction that wraps AudioTrack that implements
the blocking semantics that we desire.

bug:5680699

Change-Id: I34a1248ff05766a7d9b3002055fb5b24aa9f230b
ts/AudioMessageParams.java
ts/AudioPlaybackHandler.java
ts/AudioPlaybackQueueItem.java
ts/BlockingAudioTrack.java
ts/BlockingMediaPlayer.java
ts/EventLogger.java
ts/PlaybackQueueItem.java
ts/PlaybackSynthesisCallback.java
ts/SilenceMessageParams.java
ts/SilencePlaybackQueueItem.java
ts/SynthesisMessageParams.java
ts/SynthesisPlaybackQueueItem.java
ts/TextToSpeechService.java
4f9787d6f4058a0f6df08456119edd2ae1b546cd 30-Nov-2011 Narayan Kamath <narayan@google.com> am 7dfb3e61: am cc084f1d: Fix superfluous onError callbacks.

* commit '7dfb3e611a9b4db4ffadcaa18a833de083647159':
Fix superfluous onError callbacks.
cc084f1d734c1e332d6acc1f89204036ee82bd0c 30-Nov-2011 Narayan Kamath <narayan@google.com> Fix superfluous onError callbacks.

When stop() is called twice or after done().This relates
to bug 5662598 because users using the old deprecated API
will see two calls to onUtteranceCompleted.

bug:5662598
Change-Id: I5d59cf66b4f4c8650d3f8f9e503ac3f33132c0d0
ts/AudioPlaybackHandler.java
492b7f0d51f53164aa6eb974cd7ab6a7889af677 29-Nov-2011 Narayan Kamath <narayan@google.com> Allow multiple TextToSpeech instances per calling app.

We now use an IBinder object as an identity token of the
caller instead of Context#getPackageName.

bug:5680696
Change-Id: I1ca29e7161f709d2a85218206f3f117dfa620282
ts/AudioMessageParams.java
ts/AudioPlaybackHandler.java
ts/EventLogTags.logtags
ts/EventLogger.java
ts/ITextToSpeechService.aidl
ts/MessageParams.java
ts/PlaybackSynthesisCallback.java
ts/SilenceMessageParams.java
ts/SynthesisMessageParams.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
68e2af55d65d2e61fbf8096eccaa2e4ca02b6c5a 28-Nov-2011 Narayan Kamath <narayan@google.com> Fix TTS instantiation from webview accessibility handlers.

The TTS instantiated from here shouldn't clobber any
existing TTS objects opened within the same package context.

Ideally, the TTS API should work fine with multiple TTS object
instances within the same package context but making that happen
correctly is a larger change.

bug:5659758
Change-Id: Ia1f63c61b9f12ac92ff42a427a004d414e42a759
ts/TextToSpeech.java
ts/TextToSpeechService.java
40f71f0be3cefabde9dc066d7707a1e5ebaec820 23-Nov-2011 Narayan Kamath <narayan@google.com> Fix regressions in TTS completion callbacks.

(a) onUtteranceCompleted should be called on errors too. Also,
fix up the error handling so that onUtteranceCompleted is
always called.
(b) Don't treat empty utterances as errors, and let the engine
synthesize them, as before.

bug:5662598
Change-Id: I9223592bc6fe5f47d71103f4f02f046b54a655a8
ts/AudioPlaybackHandler.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisMessageParams.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
754c72ed9e8e83e5a913aa7552fc2e1b1b5277e0 09-Nov-2011 Narayan Kamath <narayan@google.com> Notifiy callers when a speech synthesis error occurs.

bug:5589877
Change-Id: Ideca8966ea1caa6789b3273e388dd1f25c1e2758
ts/AudioMessageParams.java
ts/AudioPlaybackHandler.java
ts/ITextToSpeechCallback.aidl
ts/MessageParams.java
ts/PlaybackSynthesisCallback.java
ts/SilenceMessageParams.java
ts/SynthesisMessageParams.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/UtteranceProgressListener.java
6c07a2028505e28abd601870f05d4752e92a4b7b 07-Nov-2011 Narayan Kamath <narayan@google.com> Fix a bug in the network TTS api.

bug:5284966
Change-Id: I460bd12c27671ed42681fd4ccad567c08cb8f70f
ts/TextToSpeech.java
ts/TextToSpeechService.java
748af66ca27d3afe2e16ccc80b147d447635292a 31-Oct-2011 Narayan Kamath <narayan@google.com> Add an API for querying / enabling network TTS support.

bug:5284966
Change-Id: I01708f40bf0e975449125320dbcd4842210ca168
ts/ITextToSpeechService.aidl
ts/TextToSpeech.java
ts/TextToSpeechService.java
563fd3ae1b9d388f883b77b98a641a57bbdb6aed 27-Oct-2011 Narayan Kamath <narayan@google.com> Widen permissions on synthesized files.

When synthesized files are written to app private data dirs,
they are written with owner/grp set to the TTS engine and
are inaccessible by the app itself. This is a reported regression
from gingerbread behaviour. Note that the dir in which the
engine writes files is itself already world writable.

bug:5523587
Change-Id: I2cb26c6f3c3d9cb3cedd60fab32c99a85a27f4b1
ts/FileSynthesisCallback.java
39268ffcb74f4c177e5e7427b66480c77743f928 17-Oct-2011 Narayan Kamath <narayan@google.com> Format default locale the same way as those stored in prefs.

Also explicitly disallow locales with empty countries. This
is required to match them against the set of engine supported
locales.

bug:5309930
Change-Id: Ie9714fdc09d3081081a2393d97c31e3a42bca294
ts/TtsEngines.java
a57f23837ad172c1b046d5e9cc8eb3d2e41a69f4 04-Oct-2011 Narayan Kamath <narayan@google.com> Allow listeners to be set before the service connects.

bug:5408876
Change-Id: Ib7b2ad56c74e24cc84b55ce748053b80eb0f66e8
ts/TextToSpeech.java
69bc1b2696dde849102f0ac8071999843d01b8d1 14-Sep-2011 Narayan Kamath <narayan@google.com> Don't wait indefinitely for audio tracks to finish playing.

If the track doesn't make progress for a fixed amount of time,
bail.

bug:5309562
Change-Id: I76966b8b3b2f05ba577892899791a09f50a70107
ts/AudioPlaybackHandler.java
a65c62acabd204a0a1eb5504160238b288bee52b 06-Sep-2011 Narayan Kamath <narayan@google.com> Fix two TTS bugs.

(a) Fix a null pointer exception, caused by a race condition
between stop / start calls.
(b) Fix a deadlock observed when multiple apps call stop() when
an item from one of those apps is currently being processed.

bug:5253061

Change-Id: I78533aecfda028588ce6aedb041009bc0a6f4620
ts/TextToSpeechService.java
97171243f82532398a96f7f7adcceb61722519de 30-Aug-2011 Narayan Kamath <narayan@google.com> Change the heuristics for waiting for audiotracks to finish.

This is made necessary by a bug when the utterance is smaller
than the audio buffer size. In that case, we call stop() to
flush the audio to the mixer, but that causes the playstate to
be set to stopped though some audio is still being mixed. This
breaks our waiting loop.

We now wait a fixed amount of time for such short utterances
and do not observe the playback head position.

bug:5220048
Change-Id: Ic81dec751c1faca0b14164caeda6305c8f9815fe
ts/AudioPlaybackHandler.java
ts/SynthesisMessageParams.java
2a0518cd1d18dc50ffa063a71133e69de2e866ab 26-Aug-2011 Narayan Kamath <narayan@google.com> Don't allow TTS engines to synthesize too for ahead.

For each synthesis request, we inspect the number of
bytes of audio that have not been written to the mixer yet
and if that is above a certain threshold (currently 500ms),
we block the synthesis thread.

bug:5214603
Change-Id: I24c64c48466bdb96ce47b34cee7da2523ee5f0eb
ts/AudioPlaybackHandler.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisMessageParams.java
e5b8c4dfc70288f661e0da4f082dd51cc1399f86 22-Aug-2011 Narayan Kamath <narayan@google.com> Framework changes to support new TTS settings features.

Locale is now stored per engine, instead of as a global
option.

bug:5149036
Change-Id: I9848172623fe8aea1dd8e6678bca008da6a4cfb1
ts/TextToSpeechService.java
ts/TtsEngines.java
84deb60cf1055385b9922811e5942076dd72e315 27-Jul-2011 Narayan Kamath <narayan@google.com> Reduce the priority of the TTS thread.

It's at a very high priority currently - and will trump
foreground processes (and UI threads) which it shouldnt.

bug:5076001
Change-Id: I0d71c2941950782491ae31526a47ea6f97c38ffb
ts/TextToSpeechService.java
673f360b0e22a8591f515cba7a90d5cfcfad81a7 20-Jul-2011 Narayan Kamath <narayan@google.com> Fix some AudioTrack related issues.

(a) Call stop() when we've written less than the
AudioTrack buffer. This forces pending buffers to
get mixed.

(b) Introduce a minimum sleep time to avoid spinlocks
if they system is busy

Change-Id: If70937e8b4e8c5d02d7dadc0d3086f97a10eb7ef
ts/AudioPlaybackHandler.java
ts/SynthesisMessageParams.java
a36cce06a63ff0eb1c3a765ceb3863195732b4bf 19-Jul-2011 Narayan Kamath <narayan@google.com> Fix a threading issue in AudioPlaybackHandler

Never allow the AudioTrack to be observed in a state where
it is release()d but non null.

Change-Id: I1e5b61355f30c2aafcd55ecdf83077d7a9d99c66
ts/AudioPlaybackHandler.java
90e5650f96dabadaaf141beae20a646855073ae1 18-Jul-2011 Narayan Kamath <narayan@google.com> Few minor TTS clean ups.

(a) Remove unnecessary null check.
(b) Remove unused function.
(c) Clean up for TextToSpeech#shutdown.

Change-Id: I3ec5bccc327437064da130634a14aaf7d48eca4d
ts/AudioPlaybackHandler.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
be4ad4ac66d6b4b878ed052975f7fb09af92c6d6 15-Jul-2011 Narayan Kamath <narayan@google.com> Fix a few threading issues in the AudioPlaybackHandler.

Also fixes a bug where PlaybackSynthesisCallback would
continue to pump audio to the audio playback thread after
being stopped.

Change-Id: I3233eb4858245b6e7c7df72e241a0708c668f1b4
ts/AudioPlaybackHandler.java
ts/MessageParams.java
ts/PlaybackSynthesisCallback.java
ts/TextToSpeechService.java
c34f76fe89b5a31d01d63067c2f24b9a6a76df18 15-Jul-2011 Narayan Kamath <narayan@google.com> Improve TextToSpeech#isSpeaking()

Query the audio playback thread to check if it's busy.

bug:5033910
Change-Id: Ie57c7776bac27c2e712ddad4ec50fb7d78ea82e7
ts/AudioPlaybackHandler.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
37ccb4b55d72ff49461ddf227c6a42764f48a293 15-Jul-2011 Narayan Kamath <narayan@google.com> Merge "Remove the completeAudioAvailable API."
c3da8818f0598b3ab2cd6f4168349da6d0f72cb1 01-Jul-2011 Narayan Kamath <narayan@google.com> Remove the completeAudioAvailable API.

Measurements have shown that the audio track in streaming mode
is pretty efficient as is, thanks to dalvik's JNI implementation.

Also, in streaming mode write( ) blocks until all data has been
copied to the mixer, which is the kind of behaviour we want so
that we don't have to explicitly block in our code. Also,
the java AudioTrack is thread-safe with respect to stop( ) calls
during write, which means we can do everything completeAudioAvailable
did, just as efficiently without it.

Change-Id: I70a8a108d94c7260676673979b5ea29f37fa5db4
ts/AudioPlaybackHandler.java
ts/FileSynthesisCallback.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisCallback.java
b9db1fb9de483f35f0189dae240b38e8a9cea8c9 14-Jul-2011 Narayan Kamath <narayan@google.com> Minor cleanups to TextToSpeech.

(a) Fix an NPE reported when no TTS engine is installed.
(b) Fix a bad link, and some javadoc typos.

bug: 5004015
Change-Id: I38b97dbb5d7d4065a5ee408fae9138638ed48f40
ts/TextToSpeech.java
47d6288541324b27c80b9949670f7b6b18d3ae4c 13-Jul-2011 Narayan Kamath <narayan@google.com> Wait until the audio track finishes playing before releasing it.

Release calls stop, which causes truncation of playback.
bug:5021056

Change-Id: I8eadcbf5622dab83be3c4dabfcc06629398f27ab
ts/AudioPlaybackHandler.java
ts/SynthesisMessageParams.java
6dabb63307a0b63f9386d61e8444aed29db2081e 08-Jul-2011 Narayan Kamath <narayan@google.com> Add event-log logging for TTS requests.

Change-Id: I5023194c469a602b85259088a2e59373c96a941e
ts/AudioPlaybackHandler.java
ts/EventLogTags.logtags
ts/EventLogger.java
ts/PlaybackSynthesisCallback.java
ts/SynthesisMessageParams.java
ts/TextToSpeechService.java
963719869967cc257e666809aeb9bff3f25117ed 05-Jul-2011 Narayan Kamath <narayan@google.com> Minor changes to AudioTrack handling

Based on a discussion with the media folks.

Change-Id: I290cec062fcb53fccae1fd92387439448a54e81c
ts/AudioPlaybackHandler.java
bd2492e14ee9db9139cc0ff0bd29fc9864b0126c 27-Jun-2011 Narayan Kamath <narayan@google.com> Expose the currently used engine to bundled apps.

This is required to fix a couple of niggles and annoyances
in the Settings app.

Change-Id: I0ad0c41744282b552e844ba9a2157cea74c64234
ts/TextToSpeech.java
4d03462b374dfc080f0c7c78d458c102a26be5c6 16-Jun-2011 Narayan Kamath <narayan@google.com> New API for TTS settings.

Engines must declare a <meta-data> attribute in their
manifest with name "android.speech.tts". This must reference
an XML resource as per
com.android.internal.R.styleable.TextToSpeechEngine.

Change-Id: I56a6b9f1a360174f98c9f39da901ade83d0f38a7
ts/TextToSpeech.java
ts/TtsEngines.java
edd12149f050028844ca4449d3da0c16580ae486 16-Jun-2011 Narayan Kamath <narayan@google.com> Merge "Don't enforce defaults any more in the TextToSpeech API."
c3edf2a01a2cf2123a3de17ec1da11a3b6c459f0 15-Jun-2011 Narayan Kamath <narayan@google.com> Don't enforce defaults any more in the TextToSpeech API.

This has been discussed in an email thread. This brings the
text to speech API in line with other android APIs.

The user can set default speech rates / languages and
engine preferences, which the API obeys BUT these can be
overriden by individual apps (much like intent.setComponent
and intent.setClassName can be used to launch a specific
handler for a given intent).

Also, all installed engines are enabled by default. The
user is shown the "data privacy" warning every time an
installed engine is set to the default.

Change-Id: I24f5f331b3a7cc7ce1a62962192e3a452bdca9d4
ts/TextToSpeech.java
ts/TextToSpeechService.java
ts/TtsEngines.java
9ee8154e5910c40dc152ec08979c1e5899ddcc5a 15-Jun-2011 Narayan Kamath <narayan@google.com> Increase the visibility of SynthesisRequest

This makes it a lot easier for engine implementers
to test their engine. This is a dumb data object, and
contains no logic whatsoever.

Change-Id: I2a8bea134a8ff6b962508cfed67ea6085a682b23
ts/SynthesisRequest.java
d0648ed060799d8006477fded17f63b969302a60 15-Jun-2011 Narayan Kamath <narayan@google.com> Fix a bug in TextToSpeech.

Check that the requested engine is enabled.

Change-Id: I8436b0b7b7f441fe3473601fb9c46181e90750e0
ts/TextToSpeech.java
9a67f2618444e0373dcbac0f3cc36e900105f18c 14-Jun-2011 Narayan Kamath <narayan@google.com> Merge "A few TTS bug fixes"
0e20fe5bab7dc3aff488d133961acfe0239f5240 14-Jun-2011 Narayan Kamath <narayan@google.com> A few TTS bug fixes

(a) ensure that onInit is called exactly once per call to initTts().
(b) TtsEngines should never return an engine that is not installed.

Change-Id: Ic1ef63a9339e6d1050e3302445ca40d3ae481f61
ts/TextToSpeech.java
ts/TtsEngines.java
3f0363bb4b9fab9799ac308dd48baf8830e30647 10-Jun-2011 Narayan Kamath <narayan@google.com> Deprecate setEngineByPackageName

This function does not let callers know when the TTS engine has
been initialized.

Change-Id: I17fcf3f95ad5bbdb9b787ba0846e6e63d424cd23
ts/TextToSpeech.java
d3ee2fa18464fb7e4d7f6d27610fbf60b6d1ffce 10-Jun-2011 Narayan Kamath <narayan@google.com> Refactor some of TextToSpeech

required to let the Settings code to the same logic
and not have to roll it's own.

Change-Id: I2766b8562c940182a2954555fb1854889c3ac91a
ts/TextToSpeech.java
ts/TtsEngines.java
a5084e6389920a5b79f7dd0fa38530e3306e40ea 10-Jun-2011 Narayan Kamath <narayan@google.com> Merge "Don't hardcode the default engine."
22302fb7ba11f75234f8a268f5932973dd080bf9 10-Jun-2011 Narayan Kamath <narayan@google.com> Don't hardcode the default engine.

One point to note is that no TTS engine will be selected
by default if there are no system TTS engines.

Change-Id: I397061e3cf29b8a1c66e7864262b43621ef5100d
ts/TextToSpeech.java
abc63fbddab2477a2954bc804aba2826e1f11084 10-Jun-2011 Narayan Kamath <narayan@google.com> Some TTS fixes.

(a) Document the undocumented queue mode (mode == 2)
(b) intern strings to fix a bug in removeCallbacksAndMessages
(c) remove an unnecessarly lock object, change the field it
guarded to volatile.

Change-Id: If46bbfe2afb047b3ba5b3cb9a90c292656379ec1
ts/AudioPlaybackHandler.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
4924fe38675f0bf69bb0c16fc059ffa1606807ce 09-Jun-2011 Narayan Kamath <narayan@google.com> Implement QUEUE_FLUSH and QUEUE_DESTROY addition modes.

Note that this change is slightly more flexible, it defines
a priority for each playback request. We needn't really throw
away synthesis requests from other apps. We could just play
them after higher priority ones (for e.g from talkback).

Change-Id: I6c7dd9abe4871e87da08d9aaa4c55225a69078e5
ts/AudioMessageParams.java
ts/AudioPlaybackHandler.java
ts/MessageParams.java
ts/PlaybackSynthesisCallback.java
ts/SilenceMessageParams.java
ts/SynthesisMessageParams.java
ts/TextToSpeechService.java
e22b69a7de0349b99d3107349d1d3aa72d62c841 08-Jun-2011 Narayan Kamath <narayan@google.com> Make changes to the TTS api suggested by the API review.

This ended up making the implementation a lot cleaner
as well. See the bug listed below for some background.

bug:4553470
Change-Id: If16476a57e389c2f9b228f6548e426642d292b49
ts/AbstractSynthesisCallback.java
ts/FileSynthesisCallback.java
ts/FileSynthesisRequest.java
ts/PlaybackSynthesisCallback.java
ts/PlaybackSynthesisRequest.java
ts/SynthesisCallback.java
ts/SynthesisRequest.java
ts/TextToSpeechService.java
8d1fc2403b8277e68d7816b2bbf05464a4c7a58a 03-Jun-2011 Narayan Kamath <narayan@google.com> Fix the threading behaviour of TTS audio requests.

All audio is played back on a separate thread.

Change-Id: I2bbb7b3140f6a04ef705cadb2bd1ae88951e3c48
ts/AudioMessageParams.java
ts/AudioPlaybackHandler.java
ts/MessageParams.java
ts/PlaybackSynthesisRequest.java
ts/SilenceMessageParams.java
ts/SynthesisMessageParams.java
ts/TextToSpeechService.java
7a3af86dc03a45280ceca6154040577f614c571e 02-Jun-2011 Narayan Kamath <narayan@google.com> Language loading / availablity should repsect defaults enforcement.

There is no point loading a language that will never be used.
It is in fact harmful, because the engine might load it and
then receive a request for the default voice and have to load
the default voice again.

Change-Id: I8082f28d15b6e325d6a39d439b66753711a2c244
ts/TextToSpeechService.java
c90f1c815dc06d5bb563474a340f7bb158fab2e2 24-May-2011 Narayan Kamath <narayan@google.com> Add a separate thread for writing to audiotracks.

Now, SynthesisRequest.audioAvailable( ) will not block
until all data has been written to the audiotrack.

Change-Id: Ie24c0b6873ae44659e88646fb7ef821750dc314e
ts/PlaybackSynthesisRequest.java
ts/TextToSpeechService.java
b956f37e375bb2588208d4b5e8a40fae6fae5f86 16-May-2011 Narayan Kamath <narayan@google.com> Pass synthesis request params through to the TTS service.

Change-Id: I1ffd617d8dfa0814382643e3cf6b3ab7417c742a
ts/FileSynthesisRequest.java
ts/PlaybackSynthesisRequest.java
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
4bbca889df9ca76c398f3a11e871fc6ad4a4514d 19-Apr-2011 Bjorn Bringert <bringert@android.com> Expose TTS engine API

This is a new API for writing text-to-speech engines.
The existing API for apps that use TTS remains the same,
with some minor additions.

Change-Id: Id577db449ae0e5baec40621d4a08387dbd755342
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
53f6f95308854e7da1fcd15081030d7de2fc5a7f 19-Apr-2011 Narayan Kamath <narayan@google.com> Fix onCompleteAudioAvailable

(a) Don't check that the audiotrack is initialized (will
not be true in static mode until the first write call)
(b) Block until it completes playing.

Change-Id: I50eb6cece00f3d12f3b75102d62014c360ac0346
ts/PlaybackSynthesisRequest.java
a210e15c891e681fefb946116d4f7fc89a62fd91 19-Apr-2011 Bjorn Bringert <bringert@android.com> Merge "TTS: SynthesisRequest.error() instead of return value"
360eb168d6f9c967543852c7bbab370ef5d8c1bd 19-Apr-2011 Bjorn Bringert <bringert@android.com> TTS: SynthesisRequest.error() instead of return value

Change-Id: I02fe8ca1070a4e7c62ad30fd84c82bd6ecc2ecfa
ts/FileSynthesisRequest.java
ts/PlaybackSynthesisRequest.java
ts/SynthesisRequest.java
ts/TextToSpeechService.java
fe6ea01602b47f3a0bfc0903a34fc682eae7fa69 18-Apr-2011 Bjorn Bringert <bringert@android.com> Only return default TTS engines from TTS.getEngines()

Change-Id: I31a716a33c895d2a3349889046dce83c90704a2d
ts/TextToSpeech.java
71e0b4807797c602e7fc787d00d27c4f9c92a507 15-Apr-2011 Bjorn Bringert <bringert@android.com> Improve TTS engine audio buffer API

This adds two methods:
SynthesisRequest.getMaxBufferSize()
SynthesisRequest.completeAudioAvailable()

Change-Id: I1186eed45997ee9a7e51212c8d6706dd324ca949
ts/FileSynthesisRequest.java
ts/PlaybackSynthesisRequest.java
ts/SynthesisRequest.java
50e657bb2d005568f5dd8bc1d904d07b0d94018f 08-Mar-2011 Bjorn Bringert <bringert@android.com> Add Java API for writing TTS engines

This removes the old non-public C++ API for TTS
engines and replaces it with a Java API.

The new API is still @hidden, until it has been approved.

Bug: 4148636
Change-Id: I7614ff788e11f897e87052f684f1b4938d539fb7
ts/BlockingMediaPlayer.java
ts/FileSynthesisRequest.java
ts/ITextToSpeechCallback.aidl
ts/ITextToSpeechService.aidl
ts/ITts.aidl
ts/ITtsCallback.aidl
ts/PlaybackSynthesisRequest.java
ts/SynthesisRequest.java
ts/TextToSpeech.java
ts/TextToSpeechService.java
43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09 07-Apr-2011 Joe Onorato <joeo@google.com> Remove the deprecated things from Config.java. These haven't been working since before 1.0.

Change-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e
rec/Recognizer.java
216ce0f16effec873938401d20687acd61d392fb 05-Apr-2011 Mike LeBeau <mlebeau@android.com> Add EXTRA_ORIGIN to RecognizerIntent.

This is for passing the http referer of a request, e.g., for speech
input from within a browser.

Bug: 4161306
Change-Id: I56fdb7466edd985aab6df8364be1f1619a11a00d
ecognizerIntent.java
bb7cf916b23c78dc640f8bdfb7ad5cd6b09c3636 05-Apr-2011 Mike LeBeau <mlebeau@android.com> Support speech recognizer confidence values.

Pass speech recognizer confidence values in the SpeechRecognizer and
RecognizerIntent APIs through to the caller. This change defines new
API constants for keys to these values.

The corresponding change is being made to Google Voice Search, and should be
made to any other implementations.

Bug: 3267513
Bug: 4163206

Change-Id: I294553f2eb9eb3be21298b8434117c8c5309558d
ecognitionListener.java
ecognizerIntent.java
peechRecognizer.java
b18a047de574f188b2c7633164f15ab3c9e40b5b 18-Mar-2011 Valentin Kravtsov <valentink@google.com> am d35f9390: am 000466d7: am 125be9c8: Merge "Fixing a race condition in RecognitionService" into gingerbread

* commit 'd35f939010cb889d0e5d757f2e3f76c5b50b419a':
Fixing a race condition in RecognitionService
d35f939010cb889d0e5d757f2e3f76c5b50b419a 18-Mar-2011 Valentin Kravtsov <valentink@google.com> am 000466d7: am 125be9c8: Merge "Fixing a race condition in RecognitionService" into gingerbread

* commit '000466d79d33fa302c6c8d20d2db45faca7c31e0':
Fixing a race condition in RecognitionService
2cad2cc15345d8623049a17712068e813d305a25 08-Mar-2011 Bjorn Bringert <bringert@android.com> Exception handling clean-up in TextToSpeech.java

This is just a code clean-up change. It should have no effects
on behavior.

- The exception clean-up code was copied in lots of places,
added a restart() method for it.

- Use Log.e to print exception stack trace instead of doing
it manually.

- Moved return statements outside finally-blocks. Having them
in the finally-block makes no difference, but can be misleading.
Also, Eclipse complains about it.

Change-Id: Ibfb18ca89d81d1fd8d212f29b6f8ab305b52ec49
ts/TextToSpeech.java
708b47d1ecf62dbf2faf0b42aae880f719b42963 04-Mar-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 3511256 invalid TTS parameter cache size

The NB_CACHED_PARAMS is the number of cached parameters, not
the size of the array for cached parameters.

Change-Id: I3d3053bbf247f3f89ae1ea07a931d33df7857a7c
ts/TextToSpeech.java
483701eb9f36a322ca7fa6cad76fa849a756810a 18-Feb-2011 Valentin Kravtsov <valentink@google.com> Fixing a race condition in RecognitionService

Bug #3458256

If an error occurs and simultaneously user cancels the recognition, here is what happens:
1. dispatchCancel() is called since the user requested cancel. It passes the first "if" successfully.

private void dispatchCancel(IRecognitionListener listener) {
if (mCurrentCallback == null) {
if (DBG) Log.d(TAG, "cancel called with no preceding startListening - ignoring");
} else if (mCurrentCallback.mListener.asBinder() != listener.asBinder()) {
Log.w(TAG, "cancel called by client who did not call startListening - ignoring");
} else { // the correct state
RecognitionService.this.onCancel(mCurrentCallback);
mCurrentCallback = null;
if (DBG) Log.d(TAG, "canceling - setting mCurrentCallback to null");
}
}

2. Error occurs in the app, which sets the mCurrentCallback to null:
public void error(int error) throws RemoteException {
mCurrentCallback = null;
mListener.onError(error);
}

3. the second "if" is reached in dispatchCancel()
4. boom

Change-Id: I54cdcc98b495d820a2caead1709d8dee968c461e
ecognitionService.java
dc871fd870972bd704d720fae45bcbbcc5905173 24-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> resolved conflicts for merge of 3ebade5d to honeycomb-plus-aosp

Change-Id: Ifd5f88f75feeb2dad1131e6a262dff3b979bdf8d
1e13a02320aa165c22172d43b2b3c3cd8ad35cf7 21-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Bug 3365937 notify TTS initialization listener of binding errors

The creation of a TextToSpeech object causes the TTS service to
start, and the initialization listener to be called when the
service is connected. But the listener is never called when
the service binding failed to be notified of this error.
The fix consists in checking the result of the bind to service
operation, and notify the listener in case of an error.

More log was added in case speak() and synthesizeToFile() are
called but the service is not known to have started.

Change-Id: I7dcc1fa44be31fee3177ec6215fca3306377b934
ts/TextToSpeech.java
9011ec832d78982d017b1cef55a54af44ba2a447 11-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2084122: enable application control over text synth volume

This CL unhides two "keys" an application can use to specify for
an utterance its playback volume and pan. Those two new keys
use the same mechanism already in place for an application to
specify stream type and utterance ID.

Change-Id: I020363487d7a0f471fb8d3ed739c561d2ab4b0a9
ts/TextToSpeech.java
9d2d26af2e1111251f5a21213a071eb4fdc1224f 06-Jan-2011 Jean-Michel Trivi <jmtrivi@google.com> Add support in TTS for volume and panning control of the synth output

Add two new parameters that are used when synthesizing text and
playing it back directly to control the volume and left-right
panning of the output.
Panning is applied using a balance law, which is not energy-preserving
but which doesn't lower the volume when not panning / panning to
center (legacy behavior).

Reduced amount of logs, and removed spoken text.

In TextToSpeech.java: added convenience method to handle the setting
of the cached synthesis parameters.

Change-Id: I235d3d3193283ccc1891e2065d43787e3f63304d
ts/TextToSpeech.java
19e353e722322ca295bdf3c5fc13030c7e634c45 20-Dec-2010 Mike LeBeau <mlebeau@android.com> am 0655b31d: am 12b82c8d: Merge "Unhide RecognizerResultsIntent. This API was reviewed for Froyo, but we didn\'t want to make it public then because it wasn\'t until our first Market release of Voice Search that the APIs would be in use by our app." into gingerbread

* commit '0655b31d758ce8fe054c98c6d288e424f2d273e2':
Unhide RecognizerResultsIntent. This API was reviewed for Froyo, but we didn't want to make it public then because it wasn't until our first Market release of Voice Search that the APIs would be in use by our app.
52af3a4f9a1f13ea3b19a7d2f2ee07c733abef74 06-Dec-2010 Mike LeBeau <mlebeau@android.com> Unhide RecognizerResultsIntent. This API was
reviewed for Froyo, but we didn't want to make it
public then because it wasn't until our first
Market release of Voice Search that the APIs would
be in use by our app.

http://b/3135351

Change-Id: I49053717cac08e3976c22e3a105139b6755aadb8
ecognizerResultsIntent.java
b30023cabade7aebaf15b70bdbb3d17c32dfc431 16-Dec-2010 Mike LeBeau <mlebeau@android.com> Add new EXTRA_WEB_SEARCH_ONLY to RecognizerIntent API. This can be used to
avoid triggering any non-web-search actions from the speech recognizer
(such as Voice Actions in the Google implementation). The browser will set
this to true to avoid triggering non-web-search actions when speech
recognition is requested from the browser.

Change-Id: I9b410ef8696e12f22dbad325b367f0f187a2dce8
http://b/3289997
http://b/3176717
ecognizerIntent.java
4e8620f868e2490782ebb960404140ea9482c91d 25-Aug-2010 Ben Dodson <bjdodson@google.com> Updated documentation for upcoming fix for @code tags

Change-Id: Id7b163179132b9cf180afecb4e9e10ee39bcd415
peechRecognizer.java
4a60d61887a20d349e5eb38900dfbcaab06630fc 27-Jul-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix NPE in TextToSpeech with setLanguage(null)

getLanguage() can return null, and pass it to setLanguage()
in TextToSpeech.initTts()

Change-Id: I8046e94959404bd63b0a90bcc2dbf4018f77c110
ts/TextToSpeech.java
2b0c7ab6891294473136bb6f7f2e751d133ae8cf 04-May-2010 Valentin Kravtsov <valentink@google.com> Fixing: RecognitionService logcat spam "cancel called..."

Bug fix for: http://b/issue?id=2647644

RecognitionService logcat spam "cancel called with no preceding startListening - ignoring"

Change-Id: I1da8b4d40406929ed0225d40cfac629507e71c7e
ecognitionService.java
1c3cca0abed55516d2c67f2f11fc888a6a66f341 21-Apr-2010 Valentin Kravtsov <valentink@google.com> bugfix for: OOM error while doing voice search repeatedly

fix for: http://b/issue?id=2599931

Change-Id: Ic27d9eb8b29afa99787e469d9248c20f7d2988de
ecognitionService.java
peechRecognizer.java
6df44727d06548015e741dd8f63716602ed1e5d1 30-Mar-2010 Charles Chen <clchen@google.com> Unhiding TTS API constants and methods needed for TTS plugin support.
This is a fix for bug #2548048

Change-Id: Ieb60979098c1d2e82618204882bd523d271a8784
ts/TextToSpeech.java
ddc2eb8ee3c422b9f57bf55c50a76c7afb4ced76 02-Apr-2010 Charles Chen <clchen@google.com> Merge "Fix for bug 2564771 - pitch setting between apps can interfere with one another." into froyo
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
ts/ITts.aidl
ts/TextToSpeech.java
2a5d9f9b577376768372837723f0f42098aba13b 30-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2553592 API REVIEW: android.speech
Change 1 of 4
Notes from API Council review:
Rename RecognitionManager to SpeechRecognizer

Change-Id: I892c0d714d928d5e31575c72b6a36281fc4c7a8a
RecognitionListener.aidl
RecognitionService.aidl
ecognitionListener.java
ecognitionManager.java
ecognitionService.java
peechRecognizer.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
ts/ITts.aidl
ts/TextToSpeech.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
ts/ITts.aidl
ts/TextToSpeech.java
1168622bce0a8ab51362daadf4a22ea43dd46c10 18-Mar-2010 Valentin Kravtsov <valentink@google.com> RecognitionManager does not throw exceptions when needed

bug fix for: http://b/issue?id=2522063
RecognitionManager does not throw an exception in startListening() was called without the preceding setListener()

Change-Id: I8e303d0c53c7593fbf1dc7033b2c0f82eebfb081
ecognitionManager.java
f4743a869d8ee74b55a5f6335a554b011cfa33ab 09-Mar-2010 Jean-Michel Trivi <jmtrivi@google.com> Merge "Fix bug 2481825 When TTS is synthesizing to a file, return an error if the file cannot be created."
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.
ts/TextToSpeech.java
eba0f753b26bfc9a4a39b9296878581b5e6704a0 08-Mar-2010 Mike LeBeau <mlebeau@android.com> Update comments for the new EXTRA_VOICE_SEARCH_RESULT_HTTP_HEADERS.

Change-Id: I72d7ede8e6fbe47217f76806f892c4a0854f9a3d
ecognizerResultsIntent.java
2ffa625a2ad57614e0a963899669ee542d1ca988 05-Mar-2010 Valentin Kravtsov <valentink@google.com> Adding support for passing HTTP headers to a Browser

It is a prt of the following bug fix: http://b/issue?id=2478548

The CL adds the ability to pass HTTP headers to the Browser

Change-Id: Ibf0ad8f678fc5aeef4ac098e5dfbcaed9ada8600
ecognizerResultsIntent.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.
ts/TextToSpeech.java
340acd870ad05ec7b18ea4d7b3f6fa31b2360dd4 26-Feb-2010 Mike LeBeau <mlebeau@android.com> Add an extra which allows to query *only* for the voice search language preference.
This will be used by e.g. LatinIME to avoid extra computation when this is all that's
needed (probably a common use case for this API).
ecognizerIntent.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
ecognizerIntent.java
79375f761922b208e2e50ff13a63552c9d01567b 19-Feb-2010 Mike LeBeau <mlebeau@android.com> Two big additions to the voice recognition APIs:

* Allow activities satisfying RecognizerIntent.ACTION_WEB_SEARCH to
point to the class name of a broadcast receiver which returns details
about the voice search implementation in an ordered broadcast response.
Provide a convenience method for getting the intent to fire for this
info. This can be used to get the current language preference and the
list of supported languages, and is extensible for future uses.

* When creating a RecognitionManager, allow the caller to optionally specify
a specific component of a voice recognition service on the device that they
want to use. This way, an app can still use its own service through
RecognitionManager, even if it's not the one chosen the user in settings.
ecognitionManager.java
ecognizerIntent.java
329c6aed7870b55ced7774924781cddb44022683 17-Feb-2010 Mike LeBeau <mlebeau@android.com> Remove ACTION_VOICE_SEARCH_SETTINGS (added only for Froyo), because we've got
a more robust solution instead.
ecognizerIntent.java
cccd63c8e8e989a55cbeeb6c7d253a709139c223 12-Feb-2010 Valentin Kravtsov <valentink@google.com> Fixing the bug where mic button is not shown

Change-Id: I8ac7bd4c1db85058f863bcfaf5ee30212644b2bd
ecognitionManager.java
f1e245f7408f18cbb21430abf05a5407d03cfe07 12-Feb-2010 Charles Chen <clchen@google.com> Hiding the new TextToSpeech Intent extras for voice data check
to fix the build.
ts/TextToSpeech.java
387e8051479c9a7785947deb240d9288da831a84 12-Feb-2010 Charles Chen <clchen@google.com> Merge "Adding Intent extra strings to TextToSpeech.Engine for doing voice data checks."
76d9c3cb4f6f8c027959d2951e35a8b37762a1f3 12-Feb-2010 Charles Chen <clchen@google.com> Adding Intent extra strings to TextToSpeech.Engine for doing
voice data checks.
ts/TextToSpeech.java
2f853ea47a194680657ddc2cc54336a14f38b8ba 12-Feb-2010 Mike LeBeau <mlebeau@android.com> Improve a comment in RecognitionService.
ecognitionService.java
cb0be8a530d6fefdb05f009980c029c4da14bf98 12-Feb-2010 Mike LeBeau <mlebeau@android.com> Use the new RecognitionService.SERVICE_INTERFACE instead of
RecognizerIntent.ACTION_RECOGNIZE_SPEECH when finding a voice
recognition service.
ecognitionManager.java
378ae126d9d61feed77ad596fa0823394eac6240 11-Feb-2010 Mike LeBeau <mlebeau@android.com> Add SERVICE_INTERFACE and SERVICE_META_DATA constants to RecognitionService,
to be used by anyone implementing a voice recognition service. Also define
a new <recognition-service> styleable to be used in such service's metadata
xml.

Still to do: Change VoiceSearch's GoogleRecognitionService to respond to this
intent, and actually use this intent instead of ACTION_RECOGNIZE_SPEECH here
in RecognitionService.
ecognitionService.java
5d34e9b63d5305934dcedac11e8dd658ae23c174 11-Feb-2010 Mike LeBeau <mlebeau@android.com> Add new setting for the ComponentName of the service to be used
for voice recognition on the device. Right now this just queries
the package manager at boot and finds the (hopefully) single
available recognizer.

TODO: Add an attribute to let recognition services expose a settings
activity, and expose the settings activity of the chosen recognition
service in the system settings for voice input & output.
ecognitionManager.java
cc47fae688e55edefd0abd15811d674ba47889e0 09-Feb-2010 Alex Gruenstein <alexgru@android.com> Add EXTRA_PARTIAL_RESULTS so that clients can enable receiving results via onPartialResults()
ecognitionListener.java
ecognizerIntent.java
7a3c9d31bbc57f76d18d465eca605f28dc206f00 05-Feb-2010 Valentin Kravtsov <valentink@google.com> Fixing a bug when installing VoiceSearch cause error

Reinstalling VoiceIME created a problem because RecognitionService expected the first command to be setListener, in this version, such command is added
if the connection is broken.

Change-Id: Ia102fc1843053e2bdd330b380c2685a1227081b2
ecognitionManager.java
3da3cad97269d694a6153771fb4a0c3775ca6ab5 28-Jan-2010 Valentin Kravtsov <valentink@google.com> Adding speech recognition service public API

Change-Id: Ia2c13d4c7993d646956090aa5c56d1a441af9e5a
RecognitionListener.aidl
RecognitionService.aidl
ecognitionListener.java
ecognitionManager.java
ecognitionService.java
5a346d631f99c8cb48a0963a233918f96475337e 03-Feb-2010 Mike LeBeau <mlebeau@android.com> Improve some of the documentation in RecognizerIntent to reduce confusion.

Specifically point out that startActivity() is not supported for
ACTION_RECOGNIZE_SPEECH, and make the documentation on EXTRA_RESULTS more
clear to point out that this is a part of the results, not the request.
ecognizerIntent.java
dcfefb5db31383e557804b81e5e36f4584af7c22 03-Feb-2010 Mike LeBeau <mlebeau@android.com> Add "inline" constant to RecognizerResultsIntent.
ecognizerResultsIntent.java
f9271c8b7dfafecef6747c81aa1c9038ab51d274 02-Feb-2010 Mike LeBeau <mlebeau@android.com> Provide another extra for ACTION_VOICE_SEARCH_RESULTS that indicates
the base url to be used when interpreting html results given in
EXTRA_VOICE_SEARCH_RESULT_HTML.
ecognizerResultsIntent.java
41b14e8ff7a1774fc69dfcf1261f87e50dd55a03 31-Jan-2010 Mike LeBeau <mlebeau@android.com> Add a set of hidden constants for the ACTION_VOICE_SEARCH_RESULTS intent.
This will not be unhidden for Froyo as nothing will implement it until
later, but I wanted to have the definition explicit in the framework.
ecognizerResultsIntent.java
79896bd123aa3bc69c6455d4e2ddf2b2b555e6e5 15-Jan-2010 Valentin Kravtsov <valentink@google.com> Adding Recognition Service and Listener wrappers

Change-Id: Ib5068fb6d42b6752d09b0828964b6cbe92d015d3
RecognitionListener.aidl
RecognitionService.aidl
ecognitionListener.java
ecognitionManager.java
ecognitionResult.aidl
ecognitionResult.java
ecognitionServiceUtil.java
ecognizerIntent.java
199566045d2c22981604b1894e416373eb0e74ed 26-Jan-2010 Mike LeBeau <mlebeau@android.com> Unhide RecognizerIntent.ACTION_VOICE_SEARCH_SETTINGS, which our voice search
(or other voice search implementations) can use to implement settings in the
system settings.
ecognizerIntent.java
9c58935c1b172d5940c1eb46e57e9007c5c50589 25-Jan-2010 Mike LeBeau <mlebeau@android.com> Add RecognizerIntent.ACTION_VOICE_SEARCH_SETTINGS, which we'll trigger
from system settings. For now it'll just be triggered from within the
voice search app if you choose the settings menu item.

Need to unhide this before we can be fully unbundled for voice search.
ecognizerIntent.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.
ts/TextToSpeech.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.
ts/ITts.aidl
ts/TextToSpeech.java
0406eb00f2158c56133d68b187c6254fd3dc27e3 25-Sep-2009 Mike LeBeau <mlebeau@android.com> Clobber frameworks/base/core/java/android/speech in master with the
one in eclair.
ecognitionResult.java
ecognitionServiceUtil.java
6949f42ed6e8fda0db489abe070830b69946cf72 17-Sep-2009 Jean-Michel Trivi <jmtrivi@google.com> am 3e8c0ee8: am 91a5d831: am b5308a70: Merge change 24816 into donut

Merge commit '3e8c0ee84223328f3e8e5b430aa719969cd4f38d'

* commit '3e8c0ee84223328f3e8e5b430aa719969cd4f38d':
TextToSpeech javadoc update.
91a5d831d6e2311d4129cb6086a67ab66874992c 15-Sep-2009 Jean-Michel Trivi <jmtrivi@google.com> am b5308a70: Merge change 24816 into donut

Merge commit 'b5308a7051fedacf289470c8a7e21b63af9d4db8' into eclair

* commit 'b5308a7051fedacf289470c8a7e21b63af9d4db8':
TextToSpeech javadoc update.
a9b417e9bfea3da908884c726ffc9bf4f64691cf 12-Sep-2009 Jean-Michel Trivi <jmtrivi@google.com> TextToSpeech javadoc update.
ts/TextToSpeech.java
f1b64f64ab088a3e8cd32ec31f61c958c61d19e5 21-Aug-2009 Alex Gruenstein <alexgru@android.com> do not merge. Remove voicesearch-specific functionality from framework.
RecognitionListener.aidl
RecognitionService.aidl
ecognitionResult.aidl
ecognitionResult.java
ecognitionServiceUtil.java
9f5eadd2eed8b95c077a15d9e3e3c66fd151c215 15-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Unhide the broadcast intent that signals completion of the TTS language
files. This is required for bug 2022435.
Correct the javadoc where two intents were mislabelled as broadcast,
but were activity actions.
ts/TextToSpeech.java
370e1f7439fd2688220bfc9615ea70fa3d397cea 13-Aug-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 21038 into donut

* changes:
Propagate info about whether a "call" command was issued in RecognitionResult.
840d0f528f499295017d6946bb2a4c90d5a24d07 13-Aug-2009 Mike LeBeau <mlebeau@android.com> Propagate info about whether a "call" command was issued in RecognitionResult.

This is needed for the fix of http://b/2018041.
ecognitionResult.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.
ts/TextToSpeech.java
77a5d39343760d9950ca15a87db0ae778afb4f2b 08-Aug-2009 Jean-Michel Trivi <jmtrivi@google.com> Fix bug 2022435.
Add new intent and matching extra to signal the completion of the
language pack installer. This is used by CL 20513.
ts/TextToSpeech.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.
ts/TextToSpeech.java
9c53a5c01f7d9e2ffe93cc7ca03cac9c71968484 22-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Resetting the setLanguage() call to its intended behavior after change 8089
which works around the bug where a language cannot be set if the default
language (which is loaded upon initialization) isn't eng-USA.
ts/TextToSpeech.java
1126aad736f3322559007b8abc49e26f550e4b54 21-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Revert the setLanguage() call to its previous implementation as
waiting to change the language right before a call to speak can
put the engine in an unstable state.
ts/TextToSpeech.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.
ts/TextToSpeech.java
904dfa588431ff7c99c337d7797f5bef9ac12ce3 15-Jul-2009 Charles Chen <clchen@google.com> Adding missing addEarcon method. Not having this was a bug as
this method is needed to add earcons; otherwise, there is
nothing for playEarcon to play.
ts/TextToSpeech.java
62253a319d6359ce71c547d0b0aa36ba17789ab4 14-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Unhide required definitions in TextToSpeech.Engine that cover return codes and
extras for android.intent.action.CHECK_TTS_DATA intent, and the key values
for the parameter hashmap that can be passed by an application in speak(),
synthesizeToFile(), playSilence() and playEarcon().
ts/TextToSpeech.java
78c9d0d2c5eb4d5687ae7cbe41155159329ad68f 14-Jul-2009 Charles Chen <clchen@google.com> Adding Utterance ID to the TtsService.
ts/ITts.aidl
ts/ITtsCallback.aidl
ts/TextToSpeech.java
630a8de44fa0ca855c4a87d939432f831e8ed531 11-Jul-2009 Charles Chen <clchen@google.com> Fixing TTS breakage.
ts/TextToSpeech.java
a981013aa7315e13c6c5f6aad489813c419031ea 10-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Add support in TextToSpeech for an audio stream type param and utterance
ID specified as a hashmap param in the synthesis calls.
Fix a bug where the cached parameters were not passed to the service
when synthesizing to a file.
ts/TextToSpeech.java
a9c5e4bf2639f8f09be8bace4230613b7b689f0e 10-Jul-2009 Charles Chen <clchen@google.com> Adding tagging to utterances to track which app said what.
ts/ITts.aidl
ts/TextToSpeech.java
748efcc3fb1b369690ab4617a04f452b1832edf4 09-Jul-2009 Charles Chen <clchen@google.com> Adding a missing catch
ts/TextToSpeech.java
e28aced7bb96b086b16df82ff9c75b08671eb7df 08-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Remove unused definitions for default language in TextToSpeech as
the default language is determined by the current Locale, not a hardcoded
value. Add a value for the default TTS engine to use.
ts/TextToSpeech.java
da7681e7b61dd450be72f2b4a80e6d1c86342e05 08-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Optimize storing of cached TTS parameters. Initialize the cached
language settings with the current Locale.
ts/TextToSpeech.java
c8ba3b560ce0ce5944939a50d61f639fdcaa0015 07-Jul-2009 Charles Chen <clchen@google.com> Propagating error codes to TextToSpeech.java
ts/TextToSpeech.java
52ae06521a8d4c48757b126cff233f037d0a16ba 07-Jul-2009 Charles Chen <clchen@google.com> Fixes a compatibility issue with users that have the old TTS
installed already.
ts/TextToSpeech.java
a3f89295ad4c7bd65a25144d2be1d45ea0acf87f 06-Jul-2009 Charles Chen <clchen@google.com> Propagating the error codes through the TtsService
ts/ITts.aidl
4bca97ecaf04c50d5ed49920d119f9ffa6c29402 03-Jul-2009 Charles Chen <clchen@google.com> Removing IPA - IPA is already handled by the phoneme tag.
ts/ITts.aidl
62788e9b48f884a35b89c88911b581daa6a14e08 03-Jul-2009 Jean-Michel Trivi <jmtrivi@google.com> Unhide android.speech.tts.TextToSpeech
ts/TextToSpeech.java
99a0feecd0f0aad314d7a4637d329b8a9e8c1150 02-Jul-2009 Charles Chen <clchen@google.com> Adding strings for data root and data files - these are needed
for returning this information in an Intent from checkVoiceData.
ts/TextToSpeech.java
ddb0a803fd353fbaf0139cc8804499bc9dce7403 30-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Adding in TTS service support for language query and level of support.
ts/ITts.aidl
ts/TextToSpeech.java
5c22f516be7753859f62ca3ff5327c453ee26faa 30-Jun-2009 Charles Chen <clchen@google.com> Adding status return codes for TTS calls.
ts/TextToSpeech.java
d4989093ed708ddf9c799655ea0af7afda726426 27-Jun-2009 Charles Chen <clchen@google.com> Adding implementation of IPA to the TextToSpeech.java
ts/TextToSpeech.java
f032bc7da536774a0b6a1c77632c65b935eee6fa 26-Jun-2009 Charles Chen <clchen@google.com> Adding in the playSilence method to TextToSpeech.java
ts/TextToSpeech.java
741c25b164d132ddc6ef662ddf854ebedcd0e389 26-Jun-2009 Charles Chen <clchen@google.com> Adding skeleton methods for IPA support.
ts/ITts.aidl
87c9684fd0fa31fd6ad7f7e9f4cfedddc4fdc4b0 25-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Add caching of the speech rate and language in android.speech.tts.TextToSpeech
so the speech params can be passed along in calls for text synthesis.
ts/TextToSpeech.java
aaf842edbfe76990413d4c002acb394f855321b5 25-Jun-2009 Charles Chen <clchen@google.com> Updating the TextToSpeech.java with skeleton methods.
ts/TextToSpeech.java
2ea5349583de4a505501530d04133524bb6d5d38 23-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Adding support for pitch changes of the synthesized text in Text-To-Speech.
ts/ITts.aidl
ts/TextToSpeech.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.
ts/TextToSpeech.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.
ts/ITts.aidl
ts/TextToSpeech.java
91bf30a4779146a14b2c9c5ce168d641cd31cb8e 11-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> TextToSpeech class cleanups
- harmonized private member variable names
- added success / failure codes (used for now in initialization)
- synchronized access to speech completed listener.
ts/TextToSpeech.java
a8518c169bb34e540b7542ad5bd3891053d01a9f 11-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Renaming the Tts class to TextToSpeech for clarity.
Switching to HashMap for parameter lists to pass key-value parameter pairs.
Using TODO instead of FIXME in comments.
Removing methods that don't belong anymore to the TTS interface now the feature
becomes part of the platform.
ts/TextToSpeech.java
ts/Tts.java
f85aa5a4d4e6f1ef7e07638568e27d709b8085c6 10-Jun-2009 Charles Chen <clchen@google.com> Restructuring the TTS files so that it works as a Service
ts/ITts.aidl
ts/ITtsCallback.aidl
ts/Tts.java
bac43254b219c827f3d1fd286f4a7f19e9ee2f05 09-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> In Tts class, removing method to set the specific engine to use as the
framework is always using the engine selected in the Text-To-Speech service.
ts/Tts.java
21a6a6d26baf32593d63226f9728ddd66f0bd571 09-Jun-2009 Jean-Michel Trivi <jmtrivi@google.com> Moving the Tts java class from the android.tts package to the android.speech.tts package.
The Tts class (still hidden at this point) is the only Text-To-Speech class that will be
exposed to application developers.
ts/Tts.java
409895e374108ef4bfa714e21526710ee05e700b 08-Jun-2009 Mitsuru Oshima <oshima@google.com> Moved error status from SpeechServiceRecognizerListener
RecognitionListener.aidl
ecognitionResult.java
34b234d53f9658ff7206dad6158993a1d197ffa7 29-May-2009 Mitsuru Oshima <oshima@google.com> * Chagned RecognitionService interface to use more complex RecognitionResult instead of String.
RecognitionListener.aidl
RecognitionService.aidl
ecognitionResult.aidl
ecognitionResult.java
ecognitionServiceUtil.java
cdd0ac6d85f5530dc88e73b0b51f44708c804b55 07-May-2009 Brandon Ballinger <nobody@android.com> AI 148484: (1) Pass recognizer intent to RecognitionService when starting to listen.
(2) Return error strings to client rather than error types.

Automated import of CL 148484
RecognitionService.aidl
181a44dd81eed5587252ef740663a42fe4d2a9a9 16-Apr-2009 Brandon Ballinger <> AI 146613: Move Recognition service declarations to frameworks/base/core/java/android/speech. Hide them from public API by default (no changes to current.xml).

Automated import of CL 146613
RecognitionListener.aidl
RecognitionService.aidl
ecognitionServiceUtil.java
f8a7ceaef2e7d5cd530c9426bde91b6fa9a40b75 11-Apr-2009 Andy Stadler <> AI 145778: Manual merge changes 145382-145384 from cupcake.

Automated import of CL 145778
rec/UlawEncoderInputStream.java
rec/WaveHeader.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ecognizerIntent.java
rec/MicrophoneInputStream.java
rec/Recognizer.java
rec/UlawEncoderInputStream.java
rec/WaveHeader.java
rec/package.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ecognizerIntent.java
rec/MicrophoneInputStream.java
rec/Recognizer.java
rec/UlawEncoderInputStream.java
rec/WaveHeader.java
rec/package.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
rec/package.html
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
rec/package.html
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
rec/MicrophoneInputStream.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ecognizerIntent.java
22f7dfd23490a3de2f21ff96949ba47003aac8f8 20-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127101
rec/Recognizer.java
rec/WaveHeader.java
9266c558bf1d21ff647525ff99f7dadbca417309 16-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@126645
rec/WaveHeader.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
ecognizerIntent.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ecognition/AbstractEmbeddedGrammarListener.java
ecognition/AbstractGrammarListener.java
ecognition/AbstractRecognizerListener.java
ecognition/AbstractSrecGrammarListener.java
ecognition/AudioAlreadyInUseException.java
ecognition/AudioDriverErrorException.java
ecognition/AudioSource.java
ecognition/AudioSourceListener.java
ecognition/AudioStream.java
ecognition/Codec.java
ecognition/DeviceSpeaker.java
ecognition/DeviceSpeakerListener.java
ecognition/EmbeddedGrammar.java
ecognition/EmbeddedGrammarListener.java
ecognition/EmbeddedRecognizer.java
ecognition/Grammar.java
ecognition/GrammarErrorException.java
ecognition/GrammarListener.java
ecognition/GrammarOverflowException.java
ecognition/InvalidURLException.java
ecognition/Logger.java
ecognition/MediaFileReader.java
ecognition/MediaFileReaderListener.java
ecognition/MediaFileWriter.java
ecognition/MediaFileWriterListener.java
ecognition/Microphone.java
ecognition/MicrophoneListener.java
ecognition/NBestRecognitionResult.java
ecognition/ParameterErrorException.java
ecognition/ParametersListener.java
ecognition/ParseErrorException.java
ecognition/RecognitionResult.java
ecognition/Recognizer.java
ecognition/RecognizerListener.java
ecognition/SlotItem.java
ecognition/SrecGrammar.java
ecognition/SrecGrammarListener.java
ecognition/VoicetagItem.java
ecognition/VoicetagItemListener.java
ecognition/WordItem.java
ecognition/impl/AudioStreamImpl.java
ecognition/impl/DeviceSpeakerImpl.java
ecognition/impl/EmbeddedGrammarImpl.java
ecognition/impl/EmbeddedRecognizerImpl.java
ecognition/impl/EntryImpl.java
ecognition/impl/GrammarImpl.java
ecognition/impl/LoggerImpl.java
ecognition/impl/MediaFileReaderImpl.java
ecognition/impl/MediaFileWriterImpl.java
ecognition/impl/MicrophoneImpl.java
ecognition/impl/NBestRecognitionResultImpl.java
ecognition/impl/SrecGrammarImpl.java
ecognition/impl/System.java
ecognition/impl/VoicetagItemImpl.java
ecognition/impl/WordItemImpl.java
ecognition/impl/package.html
ecognition/package.html
rec/MicrophoneInputStream.java
rec/Recognizer.java
rec/Srec.java
rec/UlawEncoderInputStream.java
rec/package.html
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ecognition/AbstractEmbeddedGrammarListener.java
ecognition/AbstractGrammarListener.java
ecognition/AbstractRecognizerListener.java
ecognition/AbstractSrecGrammarListener.java
ecognition/AudioAlreadyInUseException.java
ecognition/AudioDriverErrorException.java
ecognition/AudioSource.java
ecognition/AudioSourceListener.java
ecognition/AudioStream.java
ecognition/Codec.java
ecognition/DeviceSpeaker.java
ecognition/DeviceSpeakerListener.java
ecognition/EmbeddedGrammar.java
ecognition/EmbeddedGrammarListener.java
ecognition/EmbeddedRecognizer.java
ecognition/Grammar.java
ecognition/GrammarErrorException.java
ecognition/GrammarListener.java
ecognition/GrammarOverflowException.java
ecognition/InvalidURLException.java
ecognition/Logger.java
ecognition/MediaFileReader.java
ecognition/MediaFileReaderListener.java
ecognition/MediaFileWriter.java
ecognition/MediaFileWriterListener.java
ecognition/Microphone.java
ecognition/MicrophoneListener.java
ecognition/NBestRecognitionResult.java
ecognition/ParameterErrorException.java
ecognition/ParametersListener.java
ecognition/ParseErrorException.java
ecognition/RecognitionResult.java
ecognition/Recognizer.java
ecognition/RecognizerListener.java
ecognition/SlotItem.java
ecognition/SrecGrammar.java
ecognition/SrecGrammarListener.java
ecognition/VoicetagItem.java
ecognition/VoicetagItemListener.java
ecognition/WordItem.java
ecognition/impl/AudioStreamImpl.java
ecognition/impl/DeviceSpeakerImpl.java
ecognition/impl/EmbeddedGrammarImpl.java
ecognition/impl/EmbeddedRecognizerImpl.java
ecognition/impl/EntryImpl.java
ecognition/impl/GrammarImpl.java
ecognition/impl/LoggerImpl.java
ecognition/impl/MediaFileReaderImpl.java
ecognition/impl/MediaFileWriterImpl.java
ecognition/impl/MicrophoneImpl.java
ecognition/impl/NBestRecognitionResultImpl.java
ecognition/impl/SrecGrammarImpl.java
ecognition/impl/System.java
ecognition/impl/VoicetagItemImpl.java
ecognition/impl/WordItemImpl.java
ecognition/impl/package.html
ecognition/package.html
rec/Srec.java