c6605242cfbda7a1e3d0009de2f0951039c8ddae |
13-Apr-2012 |
Jeff Brown <jeffbrown@google.com> |
Get Vibrator from Context instead of using private API. Bug: 6334179 Change-Id: Ib301f850bd8ef926567f8a3093bd88d102bacd54
oiceDialerActivity.java
|
85a421c6d6bf1fdbbee134d99c1a7450b00ce8fc |
28-Nov-2011 |
Daisuke Miyakawa <dmiyakawa@google.com> |
Recognize phone numbers without supported types Currently VoiceDialer cannot show a candidate when it has a type the recognition engine cannot recognize. For example if a contact has one phone number with the type CUSTOM, VoiceDialer never shows the person as a candidate even when a user ask so ("Call XXX"). This change prepares "fallback" phone number id and use it when there's no other available ids with recognizable types, to support the case above. TESTED: - Have a contact (say "Ada" here) with several phone numbers one of which must have a custom type which isn't supported by VoiceDialer ("CUSTOM"). Say "Call Ada" and see if that custom phone number appears as another entry ("Call Ada") - Try "Call Ada at home" or other voice command and see they work as before. Bug: 5585945 Change-Id: Idd0e539209cd14e786007e8ce0b121c165994c5a
ommandRecognizerEngine.java
oiceContact.java
|
760cb97b76e38daae1f4d8f4ebf91184c0462508 |
29-Nov-2011 |
Daisuke Miyakawa <dmiyakawa@google.com> |
Ignore "disconnected" broadcast when voice dial is done We currently show error message about "disconnected" status even after voice recognition was successful. This change ignores the event when appropriate. Bug: 5386457 Change-Id: Ie11e43c3dfd0cec718a8a2db0d51560b909d864e
oiceDialerActivity.java
|
13a75ecbb8d8f6b4658dff832133d0fba574d62f |
04-Nov-2011 |
Daisuke Miyakawa <dmiyakawa@google.com> |
Re-introduce workaround for issue 3090362 This is originally I790da2e1ad1a37130ceaa2bd6cdb7cd779a5925c, which happened to be ignored during auto-merge. Bug: 5508989 Change-Id: Ida37ad9d0edf05538fdd9506571c0661463394d6
ommandRecognizerEngine.java
|
9c0b96c557f75cea688469b9d869ba1d6b5988c8 |
21-Sep-2011 |
Isaac Katzenelson <isaack@android.com> |
Change theme of dialog box in voice dialer Bug: 5251317 Change-Id: I34d13f35790dbf8b81f7ea19a9c27ecf82a6253b
oiceDialerActivity.java
|
39c59f7ec34aca397d5e9dad23d72e54bda9f469 |
20-Sep-2011 |
Martin Hibdon <mhibdon@google.com> |
Initialize voiceDialer in onCreate instead of onStart Bug: 5234283 Apparently in Honeycomb, a change was made so that an onscreen activity would be stopped when the screen turned off. This was not the case in prior releases. The VoiceDialerActivity was initializing the TTS engine and recognizer engine in onStart(), and tearing everything down in onStop(), which means that post Honeycomb, it doesn't work if the screen is off. Now, it initializes everything in onCreate() and tears it down in onDestroy(). It would be much better if all of the connections to the TTS engine and bluetooth, along with the state control, were kept in a service. This way the activity could be dumb, and it could be destroyed and recreated without losing state. That's far too big of a change for ICS at this point though. Change-Id: Id27996cc64f919061f0c513660837f6dff53d467
oiceDialerActivity.java
|
8cdd749aadd386795c0f6d8d38ced0322ad7400e |
03-Sep-2011 |
Eric Laurent <elaurent@google.com> |
Issue 5252593: any app can restart the runtime Check for null BT device when receiving BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED intent. Change-Id: I89402cdede69a42a38bc56c5e8841daa9e6355af
oiceDialerActivity.java
|
d3694c0511a27f1fb44fa2760ee0d4562ffe1066 |
08-Apr-2011 |
Joe Onorato <joeo@google.com> |
Remove the deprecated things from Config.java. These havent been working since before 1.0. Change-Id: I097f48d9eec969553b34765a48ed652ea16c1a98
ommandRecognizerEngine.java
honeTypeChoiceRecognizerEngine.java
ecognizerEngine.java
ecognizerLogger.java
oiceContact.java
oiceDialerActivity.java
oiceDialerReceiver.java
oiceDialerTester.java
|
e6ca0690abd35dd9c7645fc2a24167f3e5ecc1ee |
19-Oct-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Update code for change in return type of BT APIs. Change-Id: If2fd4e8229b578704906b1212b60bb2bc615b0b8
oiceDialerActivity.java
|
33175fc0fa9e2c51e9749e737a42077854a6e6ab |
19-Aug-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Update code for new Bluetooth public APIs. Change-Id: I6369d0fe8b4c72baa47f7f9589e80b08b4a34f11
oiceDialerActivity.java
|
9b8b34f954c8213207b05896a341a2d2e2799693 |
15-Jul-2010 |
Martin Hibdon <mah@android.com> |
Manual merge of cc3e3944 to master This change corrects bug 2835657, which could not be automatically merged to master because BluetoothVoiceDialerActivity has been deleted, and is now just called VoiceDialerActivity. Change-Id: I08b433335b8c4defb1b330ecaf97c271a20bde5a
oiceDialerActivity.java
|
7eb03167f94204716f858a07a12d7ef4e915c81b |
07-Jun-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Add missing import. Change-Id: I04af2dd7e751b5dd3196d32b157c30bb9ddd8865
oiceDialerActivity.java
|
51d490c50f83eef5c547e8b8f5004e5f22232c71 |
07-Jun-2010 |
Jaikumar Ganesh <jaikumar@google.com> |
Update getState() Bluetooth API. Change-Id: Ifd564b5dfa84db4d6a00cbebf46faf437683d90a
oiceDialerActivity.java
|
fbc76d73e034753bf284d52f0df766369ae3cb5b |
27-Apr-2010 |
Martin Hibdon <mah@android.com> |
Fix Bugs 2626599 and 2615852 Prior to this change, VoiceDialerActivity would decide whether to run in bluetooth mode based upon the intent that started it. If it was ACTION_VOICE_COMMAND, then it would run in bluetooth mode. There are two problems with this: 1. If there is a bluetooth headset connected, but the voicedialer is launched from the menu, then it will come up in non-bluetooth mode, so the audio would not be routed correctly and it would not prompt the user via TTS. 2. If there is not a bluetooth headset connected, but and then something other than the headset fires the ACTION_VOICE_COMMAND, it will come up in bluetooth mode, and then block indefintely trying to connect to the headset. With this change, the VoiceDialerActivity always creates a BluetoothHeadset object. It waits for the first onServiceConnected callback to decide which mode to run in. Now it runs in the correct mode, regardless of how it was launched. Change-Id: Ic8e37ee094d6bd84ec8171e6d64d5cfda1a33b29
oiceDialerActivity.java
|
ed873c21cd8ad85df735ec841b147f5ac0f740a9 |
05-Apr-2010 |
Martin Hibdon <mah@android.com> |
Make the BluetoothVoiceDialerActivity and VoiceDialerActivity into one activity These had been separated into two activites while the BluetoothVoiceDialer was being worked on, but it's a lot of duplicate code. Now there is a single activity that can run in either bluetooth or non-bluetooth mode, depending on how it is started. The state transitions are slightly simpler when running in non-bluetooth mode, because it does not use text to speech to inform the user about what it is doing. Change-Id: Iddf84108a84420917073fa18999d7394ca308400
luetoothVoiceDialerActivity.java
oiceDialerActivity.java
|
ef5d3e8cd31873c7af4902986ae61b408d0343bb |
20-Apr-2010 |
Martin Hibdon <mah@android.com> |
Fix Bug: 2606879 The problem is that if the user leaves the VoiceDialerActivity using the home button, when it is started again it never starts listening. This is because all of the initialization is done in onCreate, but the teardown is done in onStop. When the activity is left using the home button, the activity is stopped, but not destroyed, so onCreate is never called when the activity is started up again. This change moves the initialization to onStart, and leaves teardown in onStop. It really doesn't make any sense for this particular activity to be stopped or paused, if it's stopped at all it should be finished. So now the onStop function also calls finish(). Change-Id: I4ddc7e329dfbf88d7b732191581877d9e5a3f0a3
luetoothVoiceDialerActivity.java
oiceDialerActivity.java
|
d23e5f670b10a582761421d8bc101d4a2d660ac0 |
15-Apr-2010 |
Martin Hibdon <mah@android.com> |
Improved fix for Bug: 2326485 When starting the voiceDialer, there is a tone played to indicate that the microphone is listening. It's important the tone not be picked up by the mic and sent to the recognizer engine, or it will corrupt the sample. Prior to this change, the VoiceDialerActivity would simply pull a fixed 380 milliseconds of audio from the microphone inputStream. This works, but may not be reliable on all hardware platforms because the size of audio buffers and performance of the audio system may vary. Now, the VoiceDialerActivity removes audio samples and attempts to detect the tone. When the tone ends, it stops pulling samples. If no tone is detected within 500 milliseconds, it times out and stops removing samples. Change-Id: Ic57ba1947fa0d315bec081bf03a32abb1a822fdf
oiceDialerActivity.java
|
09c678b7092506b54f6c6ed8e21c176e0dc62d3f |
15-Apr-2010 |
Martin Hibdon <mah@android.com> |
Undo part of change I23cc8c1e In this change, in addition to the changes I intended to make, I accidentally reverted to a previous version of BluetoothVoiceDialerActivity. Revert to the previous version, except for the changes that I intended to make to this file. Change-Id: I2d680dcfc81300dac645990c11675c7b1a048118
luetoothVoiceDialerActivity.java
|
1b715dc663bd7155d996576774e487d31bf331f7 |
13-Apr-2010 |
Martin Hibdon <mah@android.com> |
Put the beep back into the voiceDialer Bug: 2326485 Now the VoiceDialerActivity plays a beep just as it starts listening. The hard part here is that we need the end of the beep to line up pretty accurately with the start of the microphone listening. If the beep happens before the microphone is listening, then the user will start speaking too soon. If the beep happens after the microphone is listening, then the sound corrupts the incoming sample. The other difficulty is that the time to start the microphone varies considerably from platform to platform, so there is no practical way to time the beep so matches. So instead, the VoiceDialerActivity will play the beep after the mic starts, and then pull the first part of the audio sample off of the incoming stream. The beep is 40 milliseconds long, but there is some lag in between requesting the tone to play and getting it back on the mic. Experimentally, pulling out the first 350 milliseconds of sample removes the beep without losing too much else on both Passion and Sholes. Change-Id: I23cc8c1e3969fd94a27a44e9e0e8c4f0a5cd5c00
luetoothVoiceDialerActivity.java
ecognizerClient.java
ecognizerEngine.java
oiceDialerActivity.java
|
2abf40fd5f901da1b6168aa778cbf7e6713a1e9b |
02-Apr-2010 |
Martin Hibdon <mah@android.com> |
Cherry pick e5258ff473c778362d612389db79b740e9c35911 into Froyo
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
ecognizerEngine.java
oiceContact.java
oiceDialerActivity.java
|
6444f225a32d6115035876f50f2090c16d0292fd |
31-Mar-2010 |
Martin Hibdon <mah@android.com> |
Cherry pick a3f9202fb99e2019baf437df68d00c705d7a93a1 into Froyo
luetoothVoiceDialerActivity.java
|
26775474a548d5aed4c3292c2600877dbac32d1a |
26-Mar-2010 |
Martin Hibdon <mah@android.com> |
Cherry-pick 78c3b0c9d52776b9487367360d3342d1ce29ef60 into Froyo Change-Id: I4c080561e3727ce0c53040690cd0d298ab393ff6
luetoothVoiceDialerActivity.java
|
547ef32e060d291edb3cbdeca143799ad3e0ce5f |
31-Mar-2010 |
Eric Laurent <elaurent@google.com> |
Fix issue 2546651: Speech indistinct/ jarred when using voice dialer over BT. Use stream STREAM_BLUETOOTH_SCO instead of STREAM_VOICE_CALL for TTS playback. It is more appropriate as it corresponds to current user setting for the bluetooth headset now that STREAM_BLUETOOTH_SCO and STREAM_VOICE_CALL are not synchronized any more. Also limit volume to an absolute max of -18dB instead of dividing it by 2 in order to avoid saturation without impacting lower volumes. Change-Id: I4576de363254b666bc3d4782693592b438f1d9ed
luetoothVoiceDialerActivity.java
|
4a330957ce5190ed86c57e0c65910359b866cba7 |
24-Mar-2010 |
Martin Hibdon <mah@android.com> |
Make the voiceDialer work again Bug: 2537307 The recognizer has a limit on the size of each semantic value in the grammar. Now that we are storing both the package name and class name there, it's pretty easy to overflow that limit, causing the grammar initialization to fail. With this change, only the spoken word is stored in the grammar (i.e. "calendar"). The mapping of words to package name/class name is stored explicitly in a hashTable inside the commandRecognizerClient, which circumvents the recognizer's fixed limit. Bug: 2497802 If the orientation changes while an alert dialog is up, the dialog would leak and causes an assertion failure. With this change the VoiceDialerActivity uses the more modern system of using dialogs, which automatically brings down and recreates the dialog upon orientation changes. The BluetoothVoiceDialerActivity can't handle this right now, it's state machine is much more complicated. For now, it just forces itself to be in protrait mode all of the time. Change-Id: I127c860b6db51426a93daf1df2d71c1c32673de5
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
oiceDialerActivity.java
|
27d520022f552e3e4b17b00d6ec4db9306fe7dea |
23-Mar-2010 |
Martin Hibdon <mah@android.com> |
Make the VoiceDialer handle "open" commands again Bug: 2515380 The problem here was that the VoiceDialer app was assuming that the packageName of a component can be derived by dropping the last token of the className. Apparently this is not true, the packageName as far as the packageManager is not the name of the package in the java sense. Now when adding all of the "open" entries to the grammar, the CommandRecognizerEngine adds both the package name and the class name, separated by "/". Change-Id: I79fe7d12f8f3b1b6873fcf1161b3d06f3e5e17c8
ommandRecognizerEngine.java
|
8611523ea9031389812c54b2f65d2edc3bf0cb5e |
17-Mar-2010 |
Eric Laurent <elaurent@google.com> |
Use new method of BluetoothHeadset API to check if voice dialer over bluetooth is supported. Needed for issue 2416481: Support Voice Dialer over BT SCO. Change-Id: I720f7f08d1bad0d61e0d7a9afeb696fefed18761
luetoothVoiceDialerActivity.java
|
8c7aac011e578450a6837ed4ba55b1167c17bf46 |
13-Mar-2010 |
Martin Hibdon <mah@android.com> |
Now the BTVoiceDialer waits for TTS utterances to complete before moving on When the BluetoothVoiceDialer is about to place a call, it uses Text To Speech to indicate which contact is about to call. Prior to this change, it would just place the call after waiting a few seconds, which did not always line up with the end of the TTS utterance. Now it waits for the utterance to complete. Similarly, when it is about to exit it says "goodbye" to let the user know it's exiting, and it now waits for that utterance to complete before exiting. Fix a bug in VoiceContacts that caused it to skip the first row returned by that phone query. This meant that the first person/phone would not be entered into the RecognizerEngine, and therefore was impossible to call from the VoiceDialer. Change-Id: I4150f652d8df9bdc4ce54d573426bba64d13ad27
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
oiceContact.java
esNoRecognizerEngine.java
|
4ee33c8ad07afd0a2b11471e148d660faae54f1b |
30-Jan-2010 |
Suchi Amalapurapu <asuchitra@google.com> |
Add new broadcasts to handle packages installed on sdcard
oiceDialerReceiver.java
|
5f25619fecb3fda9b34f90eb1e333a89ec431583 |
05-Mar-2010 |
Martin Hibdon <mah@android.com> |
Simplify the state machine of the VoiceDialer * Eliminate the Retry state from the Bluetooth Voicedialer. Now if the recognizer returns zero results, it will simply return to the Listening for Command state, and expect the user to state a new "call", or "dial" command. * The voicedialer is no longer allowed to open any applications when running from bluetooth. There may be security problems with applications coming up over the lock screen. * Make the Bluetooth VoiceDialer handle error conditions better, now it will display an error message and exit if the Bluetooth connection drops, if the TTS system cannot be initialized, or if the recognizer returns a fatal error. * Make the VoiceDialerTester work again, so it should be easier to test recognition accuracy from many different speakers. Change-Id: Ic123648c22cf83598a641dd4cc664476261f5063
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
ecognizerEngine.java
oiceDialerActivity.java
oiceDialerReceiver.java
oiceDialerTester.java
|
7a55150b308ed03d41091e4c3ac693d6eb0ab145 |
24-Feb-2010 |
mah <mah@android.com> |
Improve bluetooth voicedialing support Bug: 2432200 When using voicedialing without being able to see or interact with the screen, it is more important to keep the number of matches small. There is now a setting on the CommandRecognizerEngine called "minimizeResults". If this is set, then the CommandRecognizerEngine will in most cases return only the highest confidence result. It will return multiple results only in the case where it is unsure which phone to call a particular person on. When this occurs, the BluetoothVoiceDialer will announce the person it is about to call, and which phone types are available (i.e. home, work, mobile, other), then begin listening for the the user to indicate which phone.
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
honeTypeChoiceRecognizerEngine.java
ecognizerClient.java
oiceDialerActivity.java
|
78d0235501ca19dd38e2ab12ed60c3fa86199fce |
24-Feb-2010 |
Martin Hibdon <mah@android.com> |
Make Voicedialer support "open" commands again Bug: 2460661 I had inadvertently removed the call to adddOpenEntriesTooGrammar, so the open commands were not being recognized.
ommandRecognizerEngine.java
|
64c64e7c25e6efe31fa53369ec49db442b68ff9a |
09-Feb-2010 |
mah <mah@android.com> |
Add initial support for Bluetooth voice dialing. Bug: 2432200 This adds a new BluetoothVoiceDialerActivity, because the flow for bluetooth is so different from the regular VoiceDialerActivity. This involved breaking RecognizerEngine's direct dependence on VoiceDialerActivity to make callbacks on. RecognizerEngine now makes callbacks on an interface called RecognizerClient, which is implemented by several different helper classes for different reasons. I've made RecognizerEngine an abstract base class, it handles some general setup, logging, etc. but it is up to the subclasses to set up the grammar and handle the results when recognition succeeds. There are currently two subclasses, the CommandRecognizerEngine recognizes phrases to call people, dial numbers, and open applications. The YesNoRecognizerEngine recognizes "yes" and "no". Known issues as of this checkin: * 8khz audio has not been validated, it's not certain that the Recognizer is getting a good audio stream. * There is still a problem with audio routing, the TTS output switches randomly between the speaker and the headset. * only the simplest case is supported, there's not a clean solution when there are multiple possible matches. * there are cases where the activity really should wait for the TTS utterance to finish before moving on. * we don't have a solution for when the phone is locked and the user activates bluetooth voicedial. * the flow may or may not be ideal, the "no matches, try again" option may not be useful. We will let some people try this and then revisit the approach.
luetoothVoiceDialerActivity.java
ommandRecognizerEngine.java
ecognizerClient.java
ecognizerEngine.java
oiceDialerActivity.java
oiceDialerReceiver.java
esNoRecognizerEngine.java
|
cd84f92b28c4d6fc55b76bce50434dd858f0d7d2 |
15-Dec-2009 |
Dave Sparks <davidsparks@android.com> |
Fix latency from beep to "Listening" state. Bug 2326485. Remove the initial beep from the voice dialer app. This makes it more consistent with Voice Search and eliminates the latency issue on certain devices where it can take hundreds of milliseconds after the beep before audio input is ready.
oiceDialerActivity.java
|
be07ca27ccdea0ed9c13d48396e10ced165dbde3 |
04-Oct-2009 |
Dianne Hackborn <hackbod@google.com> |
Work on issue #2163789: Way too much logging Dr.No from mcleron. Change-Id: I36c376066cedca8a8f00d117158583d7c796d74a
ecognizerEngine.java
|
d93d73992e9c7c6cd9a7cf3522d0dfd26f8cd6b9 |
28-Sep-2009 |
Neel Parekh <neel@google.com> |
Fix voice dailer opening previously searched screen. Bug: 2134488
ecognizerEngine.java
|
0183a55431caad22e504cea07b76f182822bb3af |
19-Sep-2009 |
Dmitri Plotnikov <dplotnikov@google.com> |
[Issue 2117288] Upgrading Voice Dialer to new contacts API Change-Id: Ibf4b24d9c7327003a4f06d354f15c98b660128fe
ecognizerEngine.java
oiceContact.java
|
d54589686988883dc2b85e972cc3d2a565484aa5 |
26-Mar-2009 |
Nick Pelly <> |
Automated import from //branches/master/...@142774,142774
oiceDialerActivity.java
|
be1584eb7e59c391a45aa21fb5e65ada1aedae9a |
25-Mar-2009 |
Dave Sparks <> |
Automated import from //branches/master/...@141266,141266
oiceDialerActivity.java
|
632bb9327078cbe2794ff24be8bb28e4f81309f1 |
19-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake_rel/...@140373
oiceDialerActivity.java
|
538879a6f24ff7305e66d719e751b5d612029bf3 |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ecognizerEngine.java
ecognizerLogger.java
oiceContact.java
oiceDialerActivity.java
oiceDialerReceiver.java
|
f3557ca3ea7b0b927e592a0a7055b05f3b8b5cfb |
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
ecognizerEngine.java
ecognizerLogger.java
oiceContact.java
oiceDialerActivity.java
oiceDialerReceiver.java
|
14557c9fd1a61334367357e99f5d040d7b118345 |
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@132589
ecognizerEngine.java
|
357b110ca51980214b87ba7c47ceaf612a20e723 |
03-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@137055
ecognizerEngine.java
|
0e1c6302dfeb51f25900e962af45887646d9002a |
19-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@132276
ecognizerEngine.java
oiceDialerReceiver.java
|
3e6a72b9c088bc6c65d9e162d2ba31dd7100e3a6 |
11-Feb-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@130745
oiceDialerActivity.java
|
8981d4a4d8d6cbd10adb2f7cc04bf941d13d2448 |
20-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@127101
ecognizerEngine.java
|
b534e881fa4c7b4e410ff8086420b12224bb4f6f |
16-Jan-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //branches/cupcake/...@126645
ecognizerEngine.java
ecognizerLogger.java
|
95d8bae6aa7e8127c1d08d63d37ca35a4fe27f83 |
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
ecognizerEngine.java
ecognizerLogger.java
oiceContact.java
oiceDialerActivity.java
oiceDialerReceiver.java
|
22464da53983813d22e37d9656e8cbd7809e9ebf |
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
ecognizerEngine.java
ecognizerLogger.java
oiceContact.java
oiceDialerActivity.java
oiceDialerReceiver.java
|