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
Added an ordered list of notifications (n.b. a complete ordering).
Added a mechanism for ranking to be updated asynchronously
Added onNotificationRankingUpdate to NotificationListeners
Added an opaque order update object and a convenience comparator that
uses it to sort notifications for listeners
Repurpose scorers to be ranking preprocessors. The preprocessors will
perform heavy-weight validation of the notification object and memoize
the results to improve efficiency of the ranking comparator.
Current internal comparator implements status quo ordering, except
that notes with a valid contact sort to the top of their priority
bucket.
Change-Id: I7244c65944a9657df41fb313b3cb5a52e149709d
This adds a new service for monitoring and enrolling fingerprints
to the platform.
Fixed documentation links.
Change-Id: I66013be5e09be9c5f9746c46aacf32d3e26c3b73
Move the window swipe to dismiss plumbing off of Window.Callback into
its own internal interface implemented by Activity and Dialog. Make it
internal API instead of public. Apps should control this via the
window feature setting.
Change-Id: I64cd237fa7eab08719b2c34e31dac7d34f02563a
This makes VoiceInteractionSession a more first-class
concept. Now the flow is that a VoiceInteractionService
calls startSession() when it wants to begin a session.
This will result in a new VoiceInteractionSession via the
VoiceInteractionSessionService containing it, and the
session at that point an decide what to do. It can now
show UI, and it is what has access to the startVoiceActivity
API.
Change-Id: Ie2b85b3020ef1206d3f44b335b128d064e8f9935
Bind long-term conditions (like "in a meeting") to enter/exit
zen mode automatically.
Persist automatic condition subscriptions to maintain them across
reboots.
Normalize condition state binding: true => enter zen, false => exit.
Change-Id: Icba2b8b25c0a352ae8215f4c0a324e4f966c0165
- Fix regression with alarms.
- Run all condition provider callbacks on the main thread.
- Exit zen mode if the current condition is disabled / uninstalled.
Bug:14402762
Change-Id: I0746670c1910047a9dc9b7e29aa1a6c3899fd9fe
On the app side, requests are now composed by subclassing
from various types of Request objects.
On the service side, starting a voice interaction session
involves starting another service that will then manage the
session. This leads the service design much more to what
we want, where the long-running main service is very tiny
and all the heavy-weight transient session work is elsewhere
in another process.
Change-Id: I46c074c6fe27b6c1cf2583c6d216aed1de2f1143
Add the condition provider interface, base class, and associated
system metadata.
Pull out common service management code into a reusable helper,
used by notification listeners and condition providers. The
helper, ManagedServices, is now completely self-contained - it
has no dependencies on NoMan or NoMan abstractions.
Bug:13743109
Change-Id: I6856d40f0a2ead78ac9b5707568559a57e7eb009
This gives a basic working implementation of a persist
running service that can start a voice interaction when
it wants, with the target activity(s) able to go through
the protocol to interact with it. It may even work when
the screen is off by putting the activity manager in the
correct state to act like the screen is on.
Includes a sample app that is a voice interation service
and also has an activity it can launch.
Now that I have this initial implementation, I think I
want to rework some aspects of the API.
Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9