- 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
- Use the persisted exit condition (and a new
persisted exit component) to immediately resubscribe
to the manual exit condition (if present)
- Fire false immediately for old countdown conditions.
- Add a new zen lens to noman dump, and a bit more info.
- Refresh the current exit condition when reopening the panel.
Bug:15844990
Bug:16212455
Change-Id: I8bfaf1b2a6cf3d8818002a9db5c527ad3aa4c05c
Add CompleteVoiceRequest to VoiceInteractor to allow apps to indicate when a voice interaction was successfully completed.
Change-Id: I1481cfe96e9e2495d88a7a4fb62263bdd1e03c54
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
Instead of producing Ranking objects, RankingMap just populates
them now, allowing developers to re-use objects and avoid
unnecessary allocations.
Also rename isInterceptedByDnd() to meetsInterruptionFilter(),
since DND is not a concept anymore.
Bug: 15415840
Bug: 16099064
Change-Id: If9861cbdf14593e641a4d4ffd1b967647eb8e2b8
This is a follow up CL for Ib58ece68dee4c6187d469049fca8c3.
Now SpellCheckerService is expected to store span information
in TextInfo whenever possible so that spell checker service
can use it later.
BUG: 15869548
Change-Id: I481a2efe359de6162ebe095f60506aba3db3d762
Permits apps with permission
android.permission.ACCESS_PERSISTENT_PARTITION to obtain
a read and write data blocks to the PST partition.
Only one block ever exists at one time in PST. When
a client writes another block, the previous one is
overwritten.
This permits storing a block of data that will live
across factory resets.
Change-Id: I8f23df3531f3c0512118eb4b7530eff8a8e81c83
- Add segmented zen-mode picker to the rocker UI.
- Add a new "no interruptions" value to the zen setting.
- Implement expandable condition subpanel on the rocker UI.
- Remove the old circle&slash icons.
- Suppress alarm sounds if in "no interruptions" mode.
- Add warning re: alarms to the condition UI.
- Allow rocker UI to display over the keyguard.
- Remove Notifications QS tile.
- Realign volume rocker to the top of the screen.
- Add support for new "days" sleepMode.
- New icon policy rules for "volume" slot.
- New important icon (star).
Associated Settings change:
I6ed56791784968adfbd684f490dbbebed285a2dd
Bug:15831713
Change-Id: I35afe38646f04d2ba0dbac11c2c6356120a33694
Adds a new kind of inset that only accounts for stable system
windows like the system or navigation bar.
Bug: 15457292
Change-Id: I681b711f6f40a94c25b7acd3a44eb3539486afab
For devices with unreliable significant motion sensors, allow
the tease signal to be disabled via device config.
Also add doze state to dream service dumpsys.
Bug:15863249
Change-Id: I23eeec09c69cc3bd43b187e49555391ac0a99d9f
Starting in api 21, will be required to bind to a
declared dream or doze service.
Also added to aapt dump badging output.
Bug:15862654
Change-Id: Ifa0a594eeecf21e6146176c7810a847e1d08fe3b
The doze dream is not configured by default.
When configured, the doze dream does not show anything by default.
It teases a dark version of the keyguard (showing only the time
and notifications) when a notification arrives or significant motion
is detected.
Bug:15863249
Change-Id: Icfceb054d35d6fd4d9178eda7480e2464873ca4b
The @hide was being ignored because they were being used by the
constructor. Fixed by making the FingerprintManager constructor
hidden.
Change-Id: I3cd409df5055579f5004b08d00d5d951b8e5afd3
- We are abstracting out the nitty-gritty details of the code that talks
to the SoundTrigger APIs as the
VoiceInteractionService is mostly interested in the "voice" related
aspects of the sound trigger APIs
Change-Id: I4a450033040280f2e67d06785d2b05a0e5cdc192
- Make the enrollment attrs public
- Add a dummy activity for enrollment
- Manually tested that the meta-data is correctly read by the
VoiceInteractionService when the enrollment application is under
/system/priv-app
Change-Id: I36676ed8ffc919109031c26bac047d0c51a77e13
The only API we currently need is one that tells us whether the system
is capable of running hotword detection for a given keyphrase+locale on
the hardware.
Also adds support in the KeyphraseEnrollmentInfo to provide an intent
for enrollment.
Change-Id: Iec102a4a94e7b161087b8d19785d761346e927c2
- Defines schema for enrollment apps to publish metadata for the search
keyphrase. This metadata consists of an ID, a user visible keyphrase,
and the target package to handle the keyphrase, when it triggers.
- Reads the metadata and populates the KeyphraseInfo object for access via
the VoiceInteractionService
- Adds permission and intent action for the enrollment app.
The enrollment app needs to be a system app protected with the
MANAGE_VOICE_KEYPHRASES permission and the activity performing the
enrollment needs to handle the ACTION_MANAGE_VOICE_KEYPHRASES
- The keyphrase info currently stores an ID - that's for internal
bookkeeping only, a keyphrase text - that's used by the public APIs,
and a list of supported locales, which isn't exposed but is used while
indicating if hardware hotword is available for a particular keyphrase
in a language or not.
Change-Id: Ibe6c52a5a3eecfd74c4a8382713a35eb88d38df9
Introduce RankingMap holding single notification Rankings
indexed by SBN keys.
Also, pass RankingMap with notification event callbacks so
subclasses don't have to call getCurrentRanking() unnecessarily.
Bug: 15415840
Change-Id: Id41e174f00c06c86359c03646abc3db78028b324
When DND is on, expanded panel shows the current time
condition, or time remaining. The last time bucket
selected is remembered as the default option for the
next time.
Move the server-side countdown helper into a proper
condition provider, but register it in-process as a
system provider.
Move common countdown condition parsing into ZenModeConfig
to reuse from system components.
Keep the manual exit condition around in zen mode config
and add plumbing for getting / listening to the
controller.
Keep the last QS detail panel around instead of
recreating it every time.
Fix the time condition's plus and minus button
enabling logic, and enhance the click handler to
deal properly with the next or previous bucket.
Bug:15344758
Change-Id: Ie7018a1c20e20f6d7e5f9e7874188374e6f8e2ab
Prevents the TrustManagerService from binding to any non-platform
trust agents and updates the SampleTrustAgent to use the new
permission.
Bug: 15287044
Change-Id: I38c3deebd5ad359075e68f52d19417bab5ab43db
Add various java docs.
Switch to CharSequence where appropriate.
Add new request for canceling voice interaction.
Also update test app to follow API changes and be more better.
Change-Id: If27eeba53cf6444660adb7d37ea2ce0557c6c91f
There is now a special theme for voice interaction activities
to use, so they can be a panel that is better intergrated with
the rest of the voice interaction experience. This is still
not completely working, I have some hacks in the demo app to
get it right; I'll fix that in a future change.
Also improve VoiceInteractor to be retained across activity
instances, for things like rotation.
And bump up the number of concurrent broadcasts that are allowed
on non-svelte devices, since they can handle more and this makes
the boot experience better when dispatching BOOT_COMPLETED.
Change-Id: Ie86b5fd09b928da20d645ec2200577dee3e6889d
New window layer that voice interaction service windows
go in to. Includes a new voice-specific content rectangle
that voice activities are placed in to.
Add specific animations for this layer, sliding down from
the top (though this can be customized by the voice interaction
service).
Also add the concept of activities running for voice interaction
services for purposes of adjusting the animation used for them,
again sliding from the top, but not (yet?) customizable by the
voice interaction service.
Change-Id: Ic9e0e8c843c2e2972d6abb4087dce0019326155d
Use ParceledListSlice to send the list of active notifications
from NoMan to NotificationListeners.
This allows us to simplify the API to what it was before
introducing the "String[] key" workaround for dealing with large
numbers of StatusBarNotifications.
While we're at it, rename Ranking.getIndexOfKey to something that
makes more sense.
Bug: 15126927
Change-Id: I02c2087978c6c4ec1198be496c6250a66143ecb3