d7a7af558b2ff74e55890f618011c8d66b226fed |
21-Mar-2017 |
Chris Thornton <thorntonc@google.com> |
Prevent inclusion of null KeyphraseMetadata in info map. If getKeyphraseMetadataFromApplicationInfo encountered a parse error, it would return a null KeyphraseMetadata instance. Other parts of KeyphraseEnrollmentInfo assume that everything inserted into the member mKeyphrasePackageMap is valid, so this would cause an NPE. Bug:33448806 Test: Build a bogus enrollment APK and not see a crash. Change-Id: I0936439ea4bd0050580a7b0ee8f08f2992ebfd63
eyphraseEnrollmentInfo.java
|
d9729d1df877d88e7dbdc1b2675a331cea519338 |
06-May-2016 |
Chris Thornton <thorntonc@google.com> |
Fix NPE in KeyphraseEnrollmentInfo.toString() If there are no enrollment applications on the system, but someone still makes a KeyphraseEnrollmentInfo and tries to print it, it would generate a NPE on a map object. Instead of setting the map to null when we don't find any enrollment applications, we can just set it to an empty map. Bug:28622866 Change-Id: I023e6fd90effd3143c19817a0d6637a013bebc31
eyphraseEnrollmentInfo.java
|
1cba0696bd4c0e9d9d35f919a7a4c029ba9e4956 |
01-Apr-2016 |
Chris Thornton <thorntonc@google.com> |
Support multiple Enrollment APKs Previously, the KeyphraseEnrollmentInfo would iterate through the list of Enrollment APKs and just use the first one for a list of supported keywords (of which there only could be one). Now, all APKs will be enumerated and the enrollment APK that provides the given keyphrase/locale will be used for the enrollment intent. Change-Id: I78b0ef758c6c024b5787603bba5907a646f3c3f1
eyphraseEnrollmentInfo.java
|
ea04e8fe75b6a369b487f0f9a1cc180f5227ca3c |
03-Mar-2016 |
Ryan Bavetta <bavetta@google.com> |
Fix soundtrigger test, adds null pointer check BUG:27461735 Change-Id: I95ea641e41bcaefce15004f508ddb4bed0b5f2a8
oundTrigger.java
|
f47f173b06e2972bb376da8ff11db3a83c21d10b |
19-Feb-2016 |
Arunesh Mishra <arunesh@google.com> |
Fix AlwaysOnHotwordDetector recognition event bug. Parcelables don't work well with inheritance. So changed the IRecognitionStatusCallback to have onKeyphraseDetected() and onGenericSoundTriggerDetected() for those respective events. Made corresponding changes to AlwaysOnHotwordDetector and SoundTriggerDetector. Bug: 27250528 Change-Id: Ic08a431e7cc4248c688b05c865348170246de576
RecognitionStatusCallback.aidl
oundTrigger.aidl
oundTrigger.java
|
a772e5fc062c8de48cb9c1d61755110f6b2e189b |
25-Jan-2016 |
Arunesh Mishra <arunesh@google.com> |
SoundTrigger API improvements. This CL implements the SoundTrigger API improvements as given in b/22860713. Only the java-level parts are implemented in this CL. Key changes include: * Addition of a SoundTriggerManager/SoundTriggerDetector system API to manage the sound-trigger based sound models. * Addition of a SoundTriggerService service that manages all sound models including voice (keyphrase) and sound-trigger based models. * Includes logic to write sound-trigger based models to the database. * VoiceInteractionManager service now uses SoundTriggerService instead of SoundTriggerHelper. Bug: 22860713 Change-Id: I7b5c0ed80702527c4460372efeb5e542d3693a69
RecognitionStatusCallback.aidl
oundTrigger.aidl
oundTrigger.java
|
8ea56f68517ffa42bd5f43ab67f4ebfcfcb0cd23 |
07-Jul-2015 |
Lazar Trsic <Lazar.Trsic@imgtec.com> |
Replace hard-coded errno values with OsConstants Errno values have been hard-coded inside java code. On the native side however, bionic's errno.h is used (through utils/Errors.h). Some of the numbers are architecture dependent (EOPNOTSUPP, ETIMEDOUT...). This causes Camera app to crash on MIPS devices. There is a check for expected errors, in CameraBinderDecorator.throwOnError, but the error (EOPNOTSUPP) is not recognized and an exception is thrown. Change-Id: I8bcac8f1ced50c76614f566a6e624967a18a25e1
oundTrigger.java
|
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac |
28-Feb-2015 |
John Spurlock <jspurlock@google.com> |
Remove unused imports in frameworks/base. Change-Id: I031443de83f93eb57a98863001826671b18f3b17
oundTriggerModule.java
|
33d3c53da021f0d044028860ace0f4ad817273f5 |
11-Feb-2015 |
Alex Klyubin <klyubin@google.com> |
resolved conflicts for merge of 517e0274 to lmp-mr1-dev-plus-aosp Change-Id: Ic20b6c8851458483dd73a144bd5ae6e8d141e62a
|
b9f8a5204a1b0b3919fa921e858d04124c582828 |
03-Feb-2015 |
Alex Klyubin <klyubin@google.com> |
Move hidden ApplicationInfo flags into a separate field. The public API field android.content.pm.ApplicationInfo.flags can support only 32 flags. This limit has been reached. As a short term workaround to enable new public flags to be added, this CL moves flags which are not public API into a separate new field privateFlags and renames the affected flags constants accordingly (e.g., FLAG_PRIVILEGED is now PRIVATE_FLAG_PRIVILEGED). The new privateFlags field is not public API and should not be used for flags that are public API. The flags that are moved out of ApplicationInfo.flags are: * FLAG_HIDDEN, * FLAG_CANT_SAVE_STATE, * FLAG_FORWARD_LOCK, and * FLAG_PRIVILEGED. NOTE: This changes the format of packages.xml. Prior to this CL flags were stored in the "flags" attribute. With this CL, the public flags are stored in a new "publicFlags" attribute and private flags are stored in a new "privateFlags" attribute. The old "flags" attribute is interpreted by using the old values of hidden/private flags. Change-Id: Ie23eb8ddd5129de3c6e008c5261b639e22182ee5
eyphraseEnrollmentInfo.java
|
45c00b5877e908f44853783b42deb437cfd30d94 |
17-Oct-2014 |
Sandeep Siddhartha <sansid@google.com> |
Don't unload the sound model on stopRecognition This helps us in majority of the scenarios where the sound model doesn't change across start/stop calls. Bug: 17954633 Change-Id: Ibff817bb69bc69d2bb3a2603460fed596688b892
oundTrigger.java
|
75b433f737c3f45ac111a13876c0fd450b0b94ec |
13-Sep-2014 |
Eric Laurent <elaurent@google.com> |
SoundTrigger: fix KeyphraseRecognitionEvent parceling Always include the Audioformat in the parcel if not null. Bug: 17489186. Change-Id: I8bea031942b55078e5637959d5bf70961d134733
oundTrigger.java
|
39fcca0a503658f91a14b4b1d35dfc4ac9fce9d9 |
06-Sep-2014 |
Eric Laurent <elaurent@google.com> |
SoundTrigger: fix capture format in recognition event Also include capture format in recognition event if capture is available for streaming. It was only included if trigger was contained in event. Bug: 17409062 Bug: 16731718 Change-Id: I5bf566e6bda57f23c870b4a1293e9b6d15d51e5a
oundTrigger.java
|
a54cd533663b9836ec78735078ff11a6ca6a6db0 |
23-Aug-2014 |
Sandeep Siddhartha <sansid@google.com> |
Fix an issue with locale for managing intent Bug: 17187528 Change-Id: I254d838b6b37934ce81dd1fcd5a047b50d593887
eyphraseEnrollmentInfo.java
|
dcf3068fcb55f101680e70a8a6f84f3b2c9cb1e3 |
23-Aug-2014 |
Sandeep Siddhartha <sansid@google.com> |
Fix the Locale story in the hotword API Tighten the API by taking in a locale rather than a string tag. Tighten the checks when reading the enrollment metadata, bail out if any attribute is missing or invalid. Add missing recycle call for a TypedArray Stop recognition when sound model(s) change. This is needed during un-enrollment/re-enrollment. Bug: 17187528 Bug: 17205230 Change-Id: Idb00b51ef8c4ea0a8f8993decea582223181fa3d
eyphraseEnrollmentInfo.java
eyphraseMetadata.java
|
6df952ec2208714d3206c54987eb388aee799be6 |
09-Aug-2014 |
Sandeep Siddhartha <sansid@google.com> |
Add debugging info to VIS via dump() Change-Id: I9e8f4536de309256db835b30d94765bfc27d4e80
eyphraseEnrollmentInfo.java
|
cb4e81c7fe1ec843d80f7604a688c71086c23685 |
06-Aug-2014 |
Sandeep Siddhartha <sansid@google.com> |
Handle microphone contention/Phone calls while recognition is active Internally we pause the recognition when: - a phone call is active/off-hook/ringing - or some other application grabs the microphone we auto-resume when the condition that caused us to pause reverses. Both these events are notified to the client via callbacks so that they can choose to display on their UI, that the recognition is paused for some reason. Bug: 16515468 Bug: 16740806 Bug: 16514535 Change-Id: Ib274d68522c8cf37d42402c875b16159957657f0
RecognitionStatusCallback.aidl
|
d3b8223377b8046280e4c09e728edc600171f941 |
30-Jul-2014 |
Eric Laurent <elaurent@google.com> |
SoundTrigger API update. Add sound model update callback. Add native service state change callback. Add vendor UUID in sound model description. Add coarse confidence level in recognition event. Add capture format in recognition event. Bug: 12378680. Change-Id: Id63437819ec7b9a4a69e1ff6185b747e20cad95e
oundTrigger.java
oundTriggerModule.java
|
2c0273e50a3162595e9a54030166f2369b039a5a |
01-Aug-2014 |
Sandeep Siddhartha <sansid@google.com> |
Add a flag for multiple triggers with same recognition session Also annotate the flags with @IntDef to make things clearer and safer Add more debug logging Revert to start/stop being synchronous since telephony and microphone will need to be handled internally. Bug: 16731586 Bug: 16514535 Bug: 16549061 Change-Id: I83695d52e9547269c95d443e4d921c9238b7401e
oundTrigger.java
|
1ed12ddb8c46193cc4d790b9c7d6a5d61afb3311 |
29-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Make startRecognition async - This is needed for telephony and audio integration which should happen via async callbacks that'll end up starting/stopping recognition. e.g. if a startRecognition happens when in a phone call - the onDetectionStarted will get called once the phone call ends. For now the transient stoppages due to internal reasons will not be propagated back to the client. Bug: 16514535 Bug: 16515468 Change-Id: I1b2b8edd28f5c5e67c453f66c23e1a67a626114e
RecognitionStatusCallback.aidl
|
6817337118655d5792e36e954b123e6daa4174a6 |
28-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Read the keyphrase ID from the recognition event Bug: 16516658 Change-Id: Ibeee81c9543aa1091bb075066cfc2269107f13c0
RecognitionStatusCallback.aidl
oundTrigger.aidl
oundTrigger.java
|
39c12fab49075b715c253c68c84b5c10c3150197 |
26-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Use blob (shared memory) for large data in sound model/recognition event/config Also add a missing null check in writeBlob Bug: 16516353 Change-Id: Ie702f8daae541cab7c2cee6e13d49e7fc84c84e1
RecognitionStatusCallback.aidl
oundTrigger.aidl
oundTrigger.java
|
110f569b47bc21fb38ec25b6110ee302ce137e06 |
20-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Fix synchronization issues in AlwaysOnHotwordDetector - Remove unnecessary recognition status from AlwaysOnHotwordDetector - Remove unnecessary recognition started callback from IRecognitionStatusCallback - Fix a bug around the fact that we weren't picking up enrollment at runtime because we were storing the availability at instantiation time. - Handle 0-length arrays in SoundTrigger classes while parceling/unparceling - Fix issue in SoundTrigger helper where we were not comparing binders for start/stop calls - Unload the previous model when starting a new recognition - Add more debug logging Change-Id: Icc56d7f3dd1ffa49a8cfeea49080e3ab4d342c32
RecognitionStatusCallback.aidl
oundTrigger.java
|
055897208d659e9734a82def88be4a806ff55448 |
18-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Move sound trigger calls to VoiceInteractionManagerService - This ensures that any data being loaded on the DSP comes from the framework Change-Id: Ie15f0994850ba8f298ca07c49fe0b89e066d9e2b
spInfo.java
RecognitionStatusCallback.aidl
eyphrase.aidl
eyphrase.java
eyphraseSoundModel.aidl
eyphraseSoundModel.java
oundTrigger.aidl
oundTrigger.java
oundTriggerHelper.java
|
e6cd2476aa9d07df0de0a0081ab66d8401a7e228 |
11-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Add recognition modes to the enrollment metadata This will be used by the Voice interaction service to determine what type of recognition may be run on the DSP. e.g. If the DSP supports voice trigger only for the given keyphrase, the voice interaction service may want to perform user identification at its end. Also support keyphrase metadata for all keyphrases and locales. In case the enrollment app supports open-ended keyphrases, it can leave the keyphrase text to be empty similarly, if the enrollment app supports all locales, it can leave the supported locales attribute to be empty, Change-Id: I782a17a877fc79ed569fa7c3a81697641182590b
eyphraseEnrollmentInfo.java
eyphraseMetadata.java
oundTriggerHelper.java
|
a433af6b739e6d1b57a06913401086cdd8eccffb |
17-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Add code for isKeyphraseActive and some logging to help debug issues Change-Id: I89f2090be5a5fe5f7c0da1648a0d46a093893fe2
oundTriggerHelper.java
|
8ecaf5f5cfd18e0436db1a27ccf46a063e9aacd7 |
11-Jul-2014 |
Sandeep Siddhartha <sansid@google.com> |
Hook in startRecogniton call Add required info to the sound model database: users & recognition modes Change-Id: I6e12cbc6342a2767c0e3d8328c0a3be899ac9952
eyphrase.java
eyphraseEnrollmentInfo.java
eyphraseSoundModel.java
oundTriggerHelper.java
|
d7018200312e4e4dc3f67cf33dc90bf7ce585844 |
11-Jul-2014 |
Sandeep <sansid@google.com> |
Always on hotword changes Add model management API skeleton to VoiceInteractionManagerService Add an "interactor" for all always-on APIs - The VoiceInteractionService will get an interactor for the given keyphrase and locale. - It can then check the availability and call methods to start and stop recognition on this interactor. - Add a common class to deal with SoundTrigger APIs - Cleanup the keyphrase representation: We now have separate representations for the keyphrase metadata and a keyphrase being used for recognition. This'll also help us to handle custom keyphrases in the future easily. This also ensures that for use within the framework, we rely on the ID of the KeyphraseInfo rather than comparing the text everytime. Add a callback for the AlwaysOnHotwordDetector This callback should be passed in by the VoiceInteractionService and is used to notify it of recognition events. Change-Id: I26252298773024f53a10cdd2af4404a4e6d74aae
spInfo.java
eyphrase.aidl
eyphrase.java
eyphraseEnrollmentInfo.java
eyphraseMetadata.java
eyphraseSoundModel.aidl
eyphraseSoundModel.java
oundTrigger.java
oundTriggerHelper.java
|
013f66b92db609fceeff9c8171daca13d057cc95 |
07-Jul-2014 |
Eric Laurent <elaurent@google.com> |
SoundTrigger: update API class Keyphrase: replaced number of users by list of user IDs. class RecognitionEvent: added capture preamble duration. class KeyphraseRecognitionEvent: add keyphrase ID and explicit list of user ID/confidence level pairs. startRecognition(): takes a RecognitionConfig specifying the list of keyphrases to listen to as well as for each keyphrase the recognition mode, users and min confidence levels for each user. Bug: 12378680. Change-Id: I57036cc83b5d9e90512b8bb3f951af3a4a74c0ce
oundTrigger.java
oundTriggerModule.java
|
d4233c68fc17f0909e9e36494db85a634f8e2665 |
13-Jun-2014 |
Sandeep Siddhartha <sansid@google.com> |
Initial code for listing/storing sound models - We use a DB to store and persist the sound models. - This'll be used by SoundTriggerModelManager, a service that lists, deletes and registers new models. This'll be used by the enrollment client to enroll and unenroll users. - This needs the unique identifiers for sound model & keyphrases to be present in the respective data structures This is very early stage so please point out any concerns. Change-Id: I82962895bf326167458f20e6ba995295551de025
oundTrigger.java
|
e48188ce35f613f64b513e5d8ce24fada1212d8e |
19-Apr-2014 |
Eric Laurent <elaurent@google.com> |
Add SoundTrigger native service interface Add JAVA framework interface for native sound trigger service. The interface allows for: - enumeration of sound trigger hardware modules and their properties - load/unload sound models - start, stop and receive recognition events on sound models. Change-Id: I51542f38f5359ffbbf79d2cbd7c9ea1ee10c9c18
oundTrigger.java
oundTriggerModule.java
|