Like new settings actions for some of the new settings panels.
And fix voice interaction services so they require a recognizer.
And tweak array map doc to be correct.
Blah blah blah.
Change-Id: Ib5e66b574b10e7b3fa39723b21046a74e6ead204
Issue #16739817 VIS doesn't start for non-primary user(s)
Issue #16709247 GSA is not the default voice interaction agent
These are both fixed by getting rid of the existing code for applying
the default voice recognizer, moving it in to the voice interaction
manager service, and extending it to also set up the default voice
interaction service.
Change-Id: If8d5936c28aebfa7eff77c8d99241c3a2ffdb0a4
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
The goal of this change is to enable support for appwidget from
user profiles to the user main profile. A user profile is a user
which is associated as a child of the main user profile. For example,
a user may have a personal (parent) and corporate (child) profile.
The device policy should be able to control whether adding a widget
from a child profile and given packages is allowed. This change
assumes that all packages from managed profiles are white listed.
Another change will add the device policy changes.
Change-Id: I267260b55d74c48b112a29979a9f59eef7a8194e
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
- Allow connected listeners to request changes
to the primary device's interruption level.
- Rename alerts -> effects in the other constant,
which does not affect interruption level.
- Rename "flags" -> "hints"
- Basic NoMan wiring for level hint.
Bug:15888672
Change-Id: I2b07fb2c9d32a143fff7c260b7d2cd4d0cd3a592
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
Don't call back for a detector being marked invalid because
that happens when someone else obtains a detector or VIS shuts down,
in either case we don't want a loop where two entities keep creating new detectors
and being invalidated.
Don't call back on an invalid detector for availability change/detected/started and stopped
only propagate errors.
This helps us with cases where a callback for the previous VIS may get called and then crash because it
tries to make calls without being the current VIS.
In the new scheme of things, if the VIS changes, or the current VIS obtains a new AlwaysOnHotwordDetector,
the previous one is shutdown and internally marked as invalid and all calls to it fail with an IllegalStateException.
Bug: 16629417
Change-Id: I74417bf76ba80916ebc21b042c18b3467857733e
- 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
Unsynchronizes the call into app code from setEnabledFeatures,
replacing it with a callback mechanism. Also makes this actually
work by fixing the check in TrustManagerService to take into account
whitelisting.
Change-Id: I0831752cd2d3158eda9c8404a5569498f11ac2ac
Adds a facility for trust agents to indicate if they
are ready to manage trust. Also adds an indication to
the lock icon on the lockscreen to show whether trust is
being managed.
Bug: 15518469
Bug: 16123013
Change-Id: Ie17f588aebeafe66c81dea4a69c733b0d2c72fd4
This adds a new feature that allows a device admin to specify a
whitelist of features that are allowed for the given admin.
Change-Id: I83f853318efbcf72308532d0a997374f73fa9c10
- Tie the sound model and keyphrase for simplicity
We won't support multiple keyphrases in a single model out of the box.
The db schema will need to be changed by the OEM wishing to add multiple hotwords.
This is because we currently have no way to test the flow and make sure that things work well with multiple keyphrases
and also the framework only reads the metadata for one keyphrase.
- Make the delete/update operations atomic
- Make the flow of data from Enrollment -> VIMS; the large sound model doesn't cross the process boundary any other time.
This is achieved by passing they key around, instead of the model themselves.
- Add a specific delete operation in DatabaseHelper rather than relying on emptying the keyphrases to delete.
Bug: 16555803
Bug: 16516353
Change-Id: I1e0cce137517502a669e431ca7e9f9f755598328
Sort notifications naturally, then move group childen to be next their proxy.
The group proxy is the summary, or if no summary exists, the lowest-ranked
member of the group is chosen as the proxy.
Notifications with a sortKey but no group and placed into a synthetic
group that consists of all notifications from that package and user in
the same priority bucket that also have sortKeys.
Expose a new API for listeners to get the group key for the notificaiton.
Bug: 15190903
Change-Id: I324ba0c394affdabb3588ca2ebafa7cf0acad2af
Sort notifications naturally, then move group childen to be next their proxy.
The group proxy is the summary, or if no summary exists, the lowest-ranked
member of the group is chosen as the proxy.
Notifications with a sortKey but no group and placed into a synthetic
group that consists of all notifications from that package and user in
the same priority bucket that also have sortKeys.
Bug: 15190903
Change-Id: I377ed65b9592079446da4a4189f5ab49d28630ec
This helps us make the list sound models operation an async one, it also helps us
with the case where a detector is invalidated, so the client doesn't have to keep checking the
state.
Synchronize DatabaseHelper methods on its instance so that other VoiceInteractionManagerService
calls aren't blocked on db writes/reads.
It's still possible for the list operation to be blocked on update and vice-versa
Change-Id: Ib8ec4ac5056b62d443038560ce31d0641b4627b0
Add a callback for when any sound model change happens. This helps the VIS
to re-check the availability and either enroll the user, or start/stop recognition.
Also shut down any active recognition when VIS dies, or a different hotword detector instance is obtained from VIS.
Change-Id: I03f94e78c6ee307afe822a84aebc7e74c64de7b4
Give activated listeners the ability to request changes to
listener-level or host-level state.
Currently this consists of the ability to suppress notification alerts
(alerts = the haptic / audio feedback of a notification).
Bug:15888672
Change-Id: I045e3b99d1f15e3f96ebaf17d3083a97e02ecb42
Added setDozeScreenState() and setDozeScreenBrightness() methods to
DreamService. The values specified here only take effect once
startDozing is called and can be changed while dozing.
This required some significant rework of the display power controller
but the result seems quite nice and better represents the policy
we want to apply.
Changed the test dream a little bit to make it flash the screen
every minute using the new functions.
Bug: 15903322
Change-Id: I83bcc34503f1b87727d2b2b3c0ef08507f9f0808
- 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
This change adds a new DreamService.wakeUp() method to allow a
dream to wake itself up gently and perform a transition before
finally finishing. The power manager will ask a dream to wake
up gently in most cases but may force it to happen immediately
when necessary.
If the dream takes too long to finish itself then the dream
controller will douse it with water summarily after 5 seconds.
Change-Id: Ib0564c5650cd5a454e1acc5aa91fe46995eecfa7
One of the requirements is that when the user does a
factory reset through settings, all data on the
persistent partition should be cleared.
This adds one last API method that allows settings
to wipe the partition.
Bug: 14288780
Change-Id: Ib87ee741d1e5195814516ae1d66eb7c4cf754dcf
...state changes.
Add a new API to tell the activity manager about a new dependency
one process has on another package. Start using it already for
when apps is Context.createPackageContext() to load code from another
app.
Also do some work on getting the monitoring of proc/uid states
in shape so it can be used by unundled code, along with an
AppImportanceMonitor class for doing so.
Some small fixes and additions to VoiceInteractionService.
Improve handling of unaccounted/overcounted battery use so that
they aren't shown to the user unless they are significant.
Change-Id: I22dd79a73f4e70103d3f8964494aebc8a31f971c
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