Commit Graph

403 Commits

Author SHA1 Message Date
John Spurlock
1fc476d512 Zen: Add notification policy management api.
- Allow apps to read and modify notification policy (currently
   which items are prioritized in "priority only" mode), but only
   after they've been granted access by noman.
 - Access to read/modify notification policy requires a token provided
   by noman.  Enabled notification listeners are automatically given
   tokens (new getter on NLS), but any other app can also request them.
 - Currently, all requests are granted.
 - Also add a new change intent when the public policy changes.

Bug: 18541928
Change-Id: I482d1c39852d0d961931515e0f0e059a8faee4ed
2015-04-15 16:58:30 -04:00
Dianne Hackborn
ca25b8768d Merge "Fixes to idle alarm scheduling, package importance." 2015-04-14 18:43:47 +00:00
Dianne Hackborn
1e38382b54 Fixes to idle alarm scheduling, package importance.
- Add new API to ask the activity manager what the current
  importance of a particular package name is (along with a few
  new useful importance levels).

- Fix my last alarm manager change to actually execute the
  alarms we have now decided should run even while we are idle.

Change-Id: I1f14712b4e390770d53b185c96a1b36f6aadd687
2015-04-14 10:01:24 -07:00
Andres Morales
d9fc85ac27 Add challenge to IGateKeeperService
required for enrolling secondary auth form-factors

Change-Id: Id5a1eb1ed22f01fbaabe8e4ebddfc42d58322625
2015-04-13 18:38:45 -07:00
Andres Morales
8fa5665f0e Wire up GateKeeper to LockSettingsService
Adds:
- Communication to GKService
- password upgrade flow
- enroll takes previous credential

Change-Id: I0161b64642be3d0e34ff4a9e6e3ca8569f2d7c0a
2015-04-13 18:38:45 -07:00
Adam Powell
2442841819 Implement ChooserTargetService querying for ChooserActivity
First cut at querying services provided by apps that offer
ChooserTargetServices. This first implementation provides no ranking.

Bind to a limit of 5 ChooserTargetServices and offer the
ChooserTargets they provide as options in the system
ChooserActivity. The chooser now presents targets as a grid and
displays the activity icon from the referrer activity.

Change-Id: I45db829f184fc78d4f18d42b2a60b25bc301eba8
2015-04-13 16:51:16 -07:00
John Spurlock
cbcf902a4a Merge "Zen: Support external condition providers." 2015-04-13 23:14:04 +00:00
Tim Kilbourn
6a975b3c35 Save search context when dispatching onSearchRequested.
The InputDevice used to trigger the search is saved in a SearchEvent
so an application implementing onSearchRequested determine the device
triggering the search.

Bug: 15374820
Change-Id: If2cd14f77ce572a5ee131697cd63145fbea63f27
2015-04-13 09:39:24 -07:00
John Spurlock
39581cc16d Zen: Support external condition providers.
- Manage provider subscriptions for external condition providers
   within ZenModeConditions.
 - Move "is automatic rule active" check into common location.
 - Add constant for external rule setting configuration page.
 - Consolidate log tags.
 - Reset rule snoozing on boot.

Bug: 20064962
Change-Id: Ida207dbf363f61e1727974e611f43f27c23accfb
2015-04-13 12:12:46 -04:00
Craig Lafayette
2a91bbfb4d Merge "Reset protection in PersistentDataBlockManager" 2015-04-10 17:15:49 +00:00
Craig Lafayette
66445a639d Reset protection in PersistentDataBlockManager
Add method to allow authorized data block wipe in support of factory
reset protection. This will allow ManagedProvisioning to respond to
and pass factory reset protection challenges during automated device
setup.
- Adds the wipeIfAllowed method to clear the data block
- Creates a protected-broadcast to send to allowed package

Bug: 19792435
Change-Id: I897f2ea2afb1222a1fc8ac49290ee45ea4d3f2d7
2015-04-10 13:14:24 -04:00
John Spurlock
1d7d2248ec Zen: New option to allow repeat callers.
Bug: 20064962
Change-Id: I11a5519c02bf8fa8e332559092c865c5e612fbd2
2015-04-10 09:21:08 -04:00
John Spurlock
b2278d6571 An update on Downtime.
The update is that Downtime is obsolete.  Replaced by the
ability to define multiple named schedule calendars.

 - Make changes to ZenModeConfig to properly model manual
   and automatic rules.
 - Refactor the zen mode helper (and supporting classes) to
   properly handle / report multiple claims on zen mode.
   The "manual" rule (specified by the user in the UI) vs
   one or more automatic rules.
 - Automatic rules are still backed by condition providers,
   but the layering is now cleaner.  ConditionProviders is now
   completely generic, has no ties to zen mode.
 - Specifically, the new layering for zen mode (below noman) is:
   ZenModeHelper: Source of truth for zen state
     ZenModeFiltering: Subhelper dedicated to filtering rules.
     ZenModeConditions: Subhelper dedicated to managing automatic rules.
       ConditionProviders:  Underlying engine for reporting named boolean state.
 - Migration story for users with existing downtime config, migrated
   to a single new calendar named downtime.
 - For users with no existing downtime, two default calendars are created
   for weeknights + weekends (icu4j for all locales will be done in a followup).
 - Remove obsolete DowntimeConditionProvider/NextAlarmConditionProvider and tracking.
 - Clean up obsolete resources.
 - Add common zen summary description string computation.
 - Add proper noman wrappers for the new model.
 - Change the semantics of the global zen setting.  It is now read-only.  Setters
   must call noman, added a "reason" to all calls for better attribution.
 - Update zenmodepanel + volumedialog to the new model.
 - Display the one or more automatic rules in the new zen footer summary.
 - "Snooze" the automatic rules when the user explicitly turns zen off.

Bug: 20064962
Change-Id: Idd9deb865a6035ad0cfae660198dccb517e6d7cc
2015-04-09 21:45:08 -04:00
Dianne Hackborn
d59a5d59df Various fixes and improvements...
Issue #19912529: VI: VoiceInteractor callback ClassCastException

Fix to use correct argument.

Issue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed

Added documentation.

Issue #19912703: VI: VoiceInteractionSession NPE on Abort Request

Maybe fix this -- don't crash if there is no active session.

Issue #19953731: VI: Add value index to...
...android.app.VoiceInteractor.PickOptionRequest.Option

There is now an optional index integer that can be associated with
every Option object.

Issue #19912635: VI: Behavior of startActivity when in voice...
...interaction is unexpected

We now forcibly finish the current voice interaction task whenever
another activity takes focus from it.

Issue #20066569: Add API to request heap dumps

New ActivityManager API to set the pss limit to generate heap
dumps.

Also added app ops for assist receiving structure and screenshot
data, so that we can track when it does these things.

Change-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1
2015-04-04 17:36:05 -07:00
John Spurlock
689dd8fb5b Merge "Zen: Changes to support new priority settings." 2015-04-03 20:07:56 +00:00
John Spurlock
fc746f8ac5 Zen: Changes to support new priority settings.
Bug: 20064962
Change-Id: Iac3444c0a55830d5e5459e26c2172d974db600d6
2015-04-03 15:55:13 -04:00
Jorim Jaggi
64e71cd6cc Merge changes from topic 'assist'
* changes:
  Add test assist to implement motion study
  Implement new assist gesture and motion
  Add flag to voice interactor for supporting assist gesture
  Add more internal API's for assist
  Add ability to start voice interaction session directly
2015-04-03 18:26:41 +00:00
Jorim Jaggi
0b68ff4512 Add flag to voice interactor for supporting assist gesture
Add an additional flag to the voice-interaction-service declaration
so it can indicate whether it is able to handle the assist gesture.
Use that information in SystemUI so it only starts the voice
interaction session if the service is able to support it.

Change-Id: I62b035ce4f4cf06ee6e7eb0ddc4bf5edbc0e6737
2015-04-03 11:12:13 -07:00
Jorim Jaggi
225d3b5449 Add more internal API's for assist
- When starting a voice interaction session from SysUI, a callback
can be passed to know when voice interaction has successfully started
- Add a new window type for the voice interaction starting window,
which resides behind the voice interaction layer.
- SystemUI now also inspects the voice interaction service to get the
logo asset for the starting window.
- Make VoiceInteractionSession window fullscreen, to accomodate for
the visuals.

Change-Id: If8c3c445e8b39841f48e8d153e6d1ba81e447286
2015-04-03 11:12:03 -07:00
Jorim Jaggi
25e12abc5b Add ability to start voice interaction session directly
Add internal API's for SystemUI to start a voice interaction session
directly, without using an intent.

Make the assist gesture use that ability, if available.

Change-Id: I88ce3c7514714eb45666884847193585a07417a9
2015-04-03 11:11:51 -07:00
Dianne Hackborn
12611bdf6d Merge "Add quick and dirty async AssistStructure building." 2015-04-03 16:46:54 +00:00
John Spurlock
4f1163c83e Zen: Add a new level: alarms-only.
Like no-interruptions, but allows alarms.

Bug: 19260237
Change-Id: I36bf0a333362256c8e54cd83992cb46c3bcb7f69
2015-04-02 23:00:40 -04:00
Dianne Hackborn
5688b03f7f Add quick and dirty async AssistStructure building.
New APIs on ViewAssistStructure all the app to request to
build a sub-tree asynchronously and indicate when it is done
with that.  The overall AssistStructure is now only flattened
and transfered on-demand, when the app receiving it requests
its data -- and at that point we can wait for any asynchronous
building to complete.

New AsyncStructure view is a very simple example of using this
to asynchronously build a child view.

Change-Id: I14f9199bee64915ad3dc80b2190916ec874308af
2015-04-02 18:43:31 -07:00
Jim Miller
ebbf205bc6 Prepare to make Fingerprint API public.
- move fingerprint support files into hardware area
- move jni into services/core

Change-Id: I48a8e43d6d328fb66d79919c255e4c44e984b4d1
2015-04-01 19:20:08 -07:00
Andreas Gampe
2d3455993e am 1bca3532: am 0e6b4da5: am 5a15bf69: Merge "Frameworks/base: Fix request removal in VoiceInteractionSession"
* commit '1bca3532687675d81dea805b12577a6c3a00b4c3':
  Frameworks/base: Fix request removal in VoiceInteractionSession
2015-03-28 05:18:03 +00:00
Andreas Gampe
0e6b4da5ca am 5a15bf69: Merge "Frameworks/base: Fix request removal in VoiceInteractionSession"
* commit '5a15bf69d8d2782d70c462f7fd8bd75e687260dc':
  Frameworks/base: Fix request removal in VoiceInteractionSession
2015-03-28 05:03:18 +00:00
Filip Gruszczynski
1c6bfd6944 am 70ef3af8: am 2493d947: am 9001f14b: Merge "Don\'t use windowOutsetBottom for insets, depend on display padding only." into lmp-mr1-modular-dev
* commit '70ef3af8d953091e3595de63a9a2f68a064c2352':
  Don't use windowOutsetBottom for insets, depend on display padding only.
2015-03-25 23:41:15 +00:00
Jim Miller
63c8c4937e Fix the build
Change-Id: I15cc8d517a1713b003aad396aa5d2b29cb808338
2015-03-25 14:06:02 -07:00
Jim Miller
9fc9ac5f77 Merge "Refactor fingerprint API" 2015-03-25 19:45:29 +00:00
Jim Miller
9f0753f5a3 Refactor fingerprint API
- enroll() and authenticate() now take an explicit callback object.
- better handling of strings
- use framework resources for commonn error strings
- add vendor-specific arrays to resources

Bug 16487912

Change-Id: Idf34242fdd06bba1903cdb22bf20169d15d92b82
2015-03-24 17:02:46 -07:00
Griff Hazen
daf5c0ebd0 Merge commit '583c7c56' into master
Change-Id: I89c2c63005fbb6b1c058b2022f4469be5244505f
2015-03-23 16:34:11 -07:00
Filip Gruszczynski
d66ba06a87 Don't use windowOutsetBottom for insets, depend on display padding only.
I am not sure if this is the correct approach to the problem. Right now
we are reporting double chin (60 vs 30). The reason for this is that
we setDisplayPadding from Clockwork Home activity (bottom=30) and add
windowOutsetBottom.

We use display padding to set surface frame size (320x320) and both
outset bottom and display padding for inset. I think we should use only
one of these. I decided to go with display padding, because that's
what was suggested to me the last time I visited this. I removed
the dependency on windowOutsetBottom altogether.

However, I don't feel confident this is the correct way to do this.
We depend on Home activity to send the display padding now to get
the correct result, so wallpapers behind other activities will not
work correctly.

Maybe instead of setting display padding from the outside, the
windowOutsetBottom should be added to display padding bottom for the
purpose of calculating surface frame and generating insets.

Advice on what is the right approach here would be greatly appreciated.

Bug: 19881056
Change-Id: Ifb655528d8f85ef01d942bf1e64e8b08475689ca
2015-03-23 13:08:56 -07:00
Andreas Gampe
8ef92bd311 Frameworks/base: Fix request removal in VoiceInteractionSession
Fix and simplify removeRequest.

Bug: 19797138
Change-Id: I0eca877e3109c9f39cebd4c888f166ce334fcc0e
2015-03-17 21:22:49 -07:00
Dianne Hackborn
27eac1d58f Add ability to get a screenshot for assist.
New flag you pass in to startSession() to say you want it,
new callback on VoiceInteractionSession to receive it.

Change-Id: I61fdcfdee41a60d46036a2ef16681a9b4181115a
2015-03-17 16:45:51 -07:00
Dianne Hackborn
3d07c94c39 Add new voice request for picking from a list.
Also add API for voice interaction service to control
whether the system should hold a wake lock while it is
working with an activity (and actually *do* hold a wake
lock while doing so, duh!).

And while in there, clean up the launching wake lock to
correctly give blame to the app that is launching.

Change-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433
2015-03-16 11:29:12 -07:00
Griff Hazen
a093802171 Allow emulator to select a window outset bottom
And clean up some copied around code.

Bug: 17440607

Change-Id: I5cf9c58b49110c4be1a77dc9c410fedc6b99aef3
2015-03-13 10:01:41 -07:00
Clara Bayarri
4423d91de5 Add a type parameter to startActionMode() calls.
This requires adding a new method to View and Window.Callback to pass
down the type as a parameter.

For compatibility purposes, the new method implementations keep the
type and call the old method, in case clients have subclassed it.

Change-Id: If5d857f131e33be8cc6a8814f2e9c4e85ad2da25
2015-03-13 10:51:51 +00:00
Jim Miller
216ce5d7b2 Merge "Add rename support to FingerprintManager" 2015-03-12 01:20:05 +00:00
Jim Miller
99d6019bea Add rename support to FingerprintManager
Bug 19592835

Change-Id: I656b3932caf2cfdb9a330522d171a59af2c7a2d1
2015-03-11 18:17:55 -07:00
Adrian Roos
bd5e03b6d9 Merge "Notify TrustAgentService when device policy configuration no longer applies" 2015-03-11 00:12:56 +00:00
Adrian Roos
a43fd03b9b Notify TrustAgentService when device policy configuration no longer applies
Also updates the outdated javadoc to match the current API.

Bug: 19500731
Change-Id: I7976bbcc815b84e168718672377a963ffea68c51
2015-03-09 19:14:33 +01:00
Adam Powell
e30c9af356 Add ChooserTargetService API
A ChooserTargetService can be implemented by apps that wish to offer
additional deep-link targets for the system intent chooser to in turn
offer to the user. This allows apps to create contextually relevant
shortcuts for UI flows that would otherwise require several steps of
explicit disambiguation. For example, a chat app might offer one-touch
access to recent conversations when sharing a photo to it from
elsewhere.

The chooser implementation must limit the number of
ChooserTargetServices it elects to query in order to respect available
system resources. Only the system chooser is permitted to bind to a
ChooserTargetService.

Change-Id: Ia7e075ee649c51cf2035f20aee166c5a27d91aeb
2015-03-04 14:23:30 -08:00
John Spurlock
08c7116ab9 Remove unused imports in frameworks/base.
Change-Id: I031443de83f93eb57a98863001826671b18f3b17
2015-02-28 14:47:49 -05:00
Jim Miller
ba67aee02c Add fingerprint settings support to the framework
- cleanup thread issue and simplify native FingerprintService methods
- add new permissions and enforce them
- add fingerprint hardware detection API

Change-Id: I87c2243ea2412061f1e85b044138480d0161bcdf
2015-02-27 12:03:32 -08:00
Dianne Hackborn
ffeecb1bfb Rework voice interaction session lifecycle.
We now have a formal concept of the session being shown and
hidden, with it being able to continue running while hidden
as long as there is enough RAM.

This changes the flow that a VoiceInteractionSession will
see: onCreate() is when it is first created, onCreateContentView()
is when its UI first needs to be built, onShow() is called each
time it needs to be shown and has the arguments given when the
show request was made (which has been renamed from startSession to
showSession), and then onHide() will be called when the UI is
no longer shown.

The methods show() and hide() now allow a VoiceInteractionSession
subclass to control when it is shown and hidden, working with the
shown state being maintained by the system.

Change-Id: Ic4a430ec7e8bf76a5441fd0425e2932806170fcc
2015-02-25 17:36:17 -08:00
Tor Norbye
7b9c912f53 Add @ResourceInt annotations on APIs
Change-Id: I119cc059c2f8bd98fd585fc84ac2b1b7d5892a08
2015-02-18 07:49:03 -08:00
Dianne Hackborn
682c8e509b Merge "Update voice interaction layer for new UI design." 2015-02-13 20:16:04 +00:00
Dianne Hackborn
ae6688b096 Update voice interaction layer for new UI design.
Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.

Add mechanism to get assist data to the voice interaction UI.

Add some basic visualization of the assist data, outlining
where on the screen we have text.

Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.

Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
2015-02-13 11:27:57 -08:00
John Spurlock
45cc62a33e Merge "NLS: Add a public signal value for an undefined filter value." 2015-02-13 18:35:50 +00:00
John Spurlock
8310410365 NLS: Add a public signal value for an undefined filter value.
We have three possible defined values for getInterruptionFilter().
i.e. All/Priority/None.

However, this value is only returned to listeners once connected,
otherwise we return 0, an undefined value.

This change gives a name to this undefined value to make it clear
that callers should not infer any meaning from it.

INTERRUPTION_FILTER_UNKNOWN = 0;

Bug: 19288429
Change-Id: I8ae94d1723289ca5714800906f9bf4e7e8111813
2015-02-13 09:27:15 -05:00