summaryrefslogtreecommitdiff
path: root/AndroidManifest.xml
AgeCommit message (Collapse)Author
2012-06-01Voice dialer priority for handling VOICE_COMMAND intents.Narayan Kamath
Change-Id: Icc563ff2765af2117525fe7b78e3ce708dd5afc4
2012-03-09Use new READ_CALL_LOG permissionDaniel Lehmann
Bug:6141864 Change-Id: If25966fb02a4063b8ca08d6466168a8244833ff6
2010-04-22Make the BluetoothVoiceDialerActivity and VoiceDialerActivity into one activityMartin Hibdon
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
2010-03-25Make the voiceDialer work againMartin Hibdon
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
2010-03-09Simplify the state machine of the VoiceDialerMartin Hibdon
* 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
2010-02-24Improve bluetooth voicedialing supportmah
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.
2010-02-19Add initial support for Bluetooth voice dialing.mah
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.
2010-02-11Add an original-package tag that matches the real package name.Jeff Hamilton
Change-Id: I05f5ab2f107ae21560185dbd98e8096cc6b3e668
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-03-03auto import from //depot/cupcake/@135843The Android Open Source Project
2009-03-03auto import from //depot/cupcake/@132589The Android Open Source Project
2009-03-02auto import from //depot/cupcake/@137055The Android Open Source Project
2008-12-17Code drop from //branches/cupcake/...@124589The Android Open Source Project
2008-10-21Initial Contributionandroid-1.0release-1.0cdma-importThe Android Open Source Project