Commit Graph

593 Commits

Author SHA1 Message Date
Arunesh Mishra
7dbef2da93 Merge "Fix AlwaysOnHotwordDetector recognition event bug." into nyc-dev 2016-02-24 23:12:12 +00:00
Arunesh Mishra
f47f173b06 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
2016-02-24 12:57:01 -08:00
Jorim Jaggi
0ffd49cbe0 Always consume bottom insets when navigation bar is force shown
When an app requests SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION but we
force show the navigation bar, we need to treat for the app like
there is no virtual navigation bar on the device. Because if you
combine it with FLAG_HIDE_NAVIGATION, you'd expect the navigation
bar gets hidden but it doesn't, so there could be content that
overlaps with the navigation bar.

Bug: 27157904
Change-Id: I088e02eae2e723c35e9cb4873de6b1325458533b
2016-02-24 18:15:17 +00:00
Andres Morales
f1af917c14 Merge "Add SystemApi for retrieving device flash lock state" into nyc-dev 2016-02-24 17:30:26 +00:00
Andres Morales
74e9b18b2d Add SystemApi for retrieving device flash lock state
Bug: 26039090
Change-Id: Ib51c4862d897cc91a0788379c761ed49a2adf271
2016-02-23 10:53:49 -08:00
Jason Monk
724214a878 Add TileService settings API
It will be used for long-clicks on TileServices when available.
Otherwise will default back to app info for the app providing the
tile.

Bug: 27269699
Change-Id: Iaf1ee1e6fe6e1357cda32c74bfdc0c26af0f5901
2016-02-19 16:43:00 -05:00
Julia Reynolds
ef37f28436 Remove Notification Topics.
Bug: 23220370
Change-Id: Ifbcdbab1cf6974c192483091512f75762784a98e
2016-02-18 08:55:33 -05:00
Julia Reynolds
1998ee5628 Alarm can end time-based rule.
Bug: 21069008
Change-Id: I857d85a32eb44ca873da4a9f19323c48a922ab9f
2016-02-17 08:44:26 -05:00
Julia Reynolds
d560729ce3 Update DND visual interruption choices.
Change-Id: I7050264839c566dcef1dd01d155dda694a8d1ec0
2016-02-08 15:20:02 +00:00
Chris Wren
10c63d8a12 move assistant to system API
Bug: 26693581
Change-Id: I7e29b8521e2c33683b8032e63da734cfde1dfcc9
2016-02-05 14:55:35 -05:00
Chris Wren
3b543ca859 Revert "move assistant to system API"
This reverts commit c441856bb6.
2016-02-05 10:49:22 -05:00
Chris Wren
c441856bb6 move assistant to system API
Bug: 22455414
Change-Id: I2fbb37fceef3058bc70d540a58fdcd8af5e7a76d
2016-02-05 08:22:18 -05:00
Julia Reynolds
3588e597d2 Merge "Re-SystemApi some fields/method that aren't in use." 2016-02-01 20:37:41 +00:00
Julia Reynolds
a62496d8f7 Re-SystemApi some fields/method that aren't in use.
Bug: 26816334
Change-Id: Ib01e7856cd65e294c018017c600f8b3dce2be844
2016-02-01 12:55:39 -05:00
Adam Powell
d1b140914d Merge "Clear/restore calling identity for ChooserTargetService" 2016-02-01 16:33:41 +00:00
Rubin Xu
7eadc1bf68 Canel all work notification when the profile is turned off
When the work profile is turned off, all work apps are killed and the
profile marked as stopped. Cancel all pending work notifications
immediately in this case, with a new reason.

Bug: 22541941
Change-Id: I97935c3bac3eba1e9c38f7449ebcc182f6c66769
2016-02-01 16:13:45 +00:00
Jason Monk
34a5cef629 Let SysUI watch TileService's dialog lifecycle
That way it can better handle tokens and service binding.

Change-Id: I9b882181ecbe52a65e731a2c45f1d296315884b4
2016-02-01 15:04:29 +00:00
Adam Powell
cb95ae2ada Clear/restore calling identity for ChooserTargetService
Bug 26604668

Change-Id: I60a8be72bf43cec802697af3b06579453af2d5dc
2016-01-29 14:51:02 -08:00
Jeff Sharkey
344744b496 Exposing file:// beyond your app is bad, m'kay?
For several releases now we've told developers that sharing raw files
between apps is a recipe for trouble.  There are at least three major
problems with sending raw files:

-- Apps sending generic intents can't know who is at the other end,
so they may not have access to shared storage locations.  This is
more likely now that runtime permissions require apps to explicitly
ask users for permission.

-- Apps making files in their private storage world-readable has been
deprecated for several releases, and now in N it's fully blocked.  If
we let these intents through, the receiving app would fail to open
the file, when the real blame rests on the sending app.

-- Devices with user profiles can't share raw files when using
cross-profile intent filters, since filesystem access is fully
locked down between users.

The time has finally come to communicate clearly that if you're
sharing content between apps, you need to use content:// Uris.  We
added the simple FileProvider several years ago to give apps a clean
way to migrate with minimal work on their part.

Bug: 26860922, 9069185
Change-Id: I075f627f6a0d6c7fca2c090ca133b9aae9801c64
2016-01-28 19:20:12 -07:00
Jorim Jaggi
c573aa7c3a Merge changes I80100f39,I4b39c1c4,I65ce9a23,I5094a137,Id898752f, ...
* changes:
  Make sure SysUI is not constantly redrawing status bar
  Fix app staying in drag resizing when undocking
  Fix flicker when dismissing non-docked stack
  Start drawing immediately
  Improve dismiss/scrolling handling in recents
  Dim harder when dismissing
2016-01-27 22:23:39 +00:00
Jorim Jaggi
a4a58efe82 Fix app staying in drag resizing when undocking
When dismissing the docked stack, the fullscreen stack stayed in drag
resize mode because it got a relayout, but because the bounds didn't
change (it switches to the fullscreen layout a bit earlier) it never
called WM.relayoutWindow, so it stayed in drag resize mode indefinitely.

To fix this, introduce forceRelayout in Window.resized(), which makes
sure the client always calls relayoutWindow. Set this to true whenever
drag resizing is changing.

For some very weird reason this also broke that home button was not
responding anymore.

Bug: 26806532
Change-Id: I4b39c1c419a166aa7093c31226f2a4915f642328
2016-01-27 14:00:02 -08:00
Arunesh Mishra
a772e5fc06 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
2016-01-27 12:49:20 -08:00
Andrei Stingaceanu
0122f651d1 Suspend apps - disable notifications
Disable notifications and posts for suspended apps by
verifying if the package is suspended in NotificationManagerService
where AppOpsManager.OP_POST_NOTIFICATION is checked.

Note that the notificationEnabled user preference is
preserved when unsuspending.

In a following CL will make the "Block all" notifications
setting while an app is suspended (in Settings -> App Info)
readonly so that the user can not turn notifications on.

Bug: 22776761
Change-Id: Ie8edba508bd23406445f9a014404b6d3b17cb223
2016-01-27 16:47:08 +00:00
Amith Yamasani
0af6fa7015 Voice Interaction from within an Activity
This allows an app to show a voice search button
and invoke a voice interaction session for use
within the activity. Once the activity exits, the
session is stopped.

Test application has a new activity that
demonstrates it with the test voice interaction
service.

This initial version is functional enough for
an integration test, with some more tests
and improvements to come later.

Bug: 22791070
Change-Id: Ib1e5bc8cae1fde40570c999b9cf4bb29efe4916d
2016-01-23 21:25:50 -08:00
Jorim Jaggi
cbb2382992 Merge "NullPointerException when starting VoiceInteractionManagerService" am: b7fbe1104f
am: 5d6da4eab0

* commit '5d6da4eab024c13afbfef5cfec0f9f2b19168318':
  NullPointerException when starting VoiceInteractionManagerService
2016-01-23 03:47:29 +00:00
Jorim Jaggi
b7fbe1104f Merge "NullPointerException when starting VoiceInteractionManagerService" 2016-01-23 02:09:36 +00:00
Jorim Jaggi
2e95a488e0 More optimization while dragging docked divider
- Make sure mPendingBackdropFrame gets also set when if the window
triggers a relayout on it's own, so it doesn't call into window manager
all the time.
- Set the insets of the docked divider to empty so we don't trigger a
layout when we are just moving it - it doesn't need it in any case.
- Send a window move message to the divider when it moved
- Update attach info in all move cases, update light center

The whole resize operation now only takes around 4ms per frame, and
leaves a lot more resources for the apps to do configuration changes.

Bug: 25015474
Change-Id: Ica48129570a0fc858a89c21f46abf3442efb0224
2016-01-15 14:31:50 -08:00
Neil Fuller
9498e8a8d2 Fix @code escapes
The body of {@code} must not be HTML escaped. This is one of
several changes that fix the source in conjunction with a
doclava fix.

Bug: 25757239
(cherry-picked from commit 71fbb81b14)

Change-Id: I19dafddc6501be6fee362c396ac5bbdc934ae39d
2016-01-15 16:14:57 +00:00
Julia Reynolds
43b70cdc39 Allow condition providers to specify a rule instance limit.
Bug: 25563007
Change-Id: I1149cb5be59668f8869c81cb46c5ead49aec933a
2016-01-15 10:30:17 -05:00
Jason Monk
561e219033 Merge "Round out the QS API" 2016-01-13 19:07:33 +00:00
Clara Bayarri
75e097965c Request Keyboard Shortcuts for SysUI Dialog via Window
Keyboard shortcuts are requested via WindowManager, and
the request pipes through to the view root and the window
callback.

Bug: 22405482
Change-Id: Ic0071e91c7b554be3ac9df71e9539ee8a60e822e
2016-01-13 16:56:56 +00:00
Jason Monk
9429513cc3 Round out the QS API
- Add startActivityAndCollapse, to make collapsing the shade easy
 - Add isSecure()
 - Add isLocked()
 - Add unlockandRun(Runnable)
 - Add unavailable, active, and inactive states

The states are added to allow consistent UI across OEM devices, by
allowing UI tweaking and tinting to match system tiles with custom
ones.

The combination of isSecure() and isLocked() and unlockAndRun(Runnable)
allows all combinations of launching show when lockend and triggering
an unlock when needed for sensitive tiles.

Change-Id: Iade98ad9f2c22aa174e62090d8ccd44c86f3bb3c
2016-01-12 17:27:52 -05:00
Edward Savage-Jones
7dbcbad577 NullPointerException when starting VoiceInteractionManagerService
If an end user disables the package that implements support for
Voice Assist (Google App) and reboots, an NPE is thrown during boot,
which results in the device getting stuck at the boot animation.

Recovery is not possible without USB debugging enabled, leaving factory
reset/user data wipe as the only other option.

Change-Id: I9c161fff7f096deee13bf8e37d951e20898ae3ff
2016-01-12 15:50:03 +00:00
Julia Reynolds
85aa6cb177 Notification banning updates.
- Dismiss notifications from banned topics
- Don't ban all topics when banning an app.
- Block notifications from banned topics.

Bug: 26154396
Change-Id: I1d94e6176a413386d89f8dc1c4899aee8a8a73b8
2016-01-08 17:56:42 -05:00
Chris Wren
2d20a4dcc6 Merge "allow listeners to disable themselves" 2016-01-08 15:50:13 +00:00
Julia Reynolds
5942cc59ab Merge "Sort notifications by importance." 2016-01-08 15:46:22 +00:00
Julia Reynolds
0421e6d586 Sort notifications by importance.
- Importance trumps 'package priority'
- Only notifications with a high enough importance can be intrusive
- default and lower importance notifications don't appear on the lock
screen and appear below the speed bump in the shade

Also, stop downgrading MAX importance noisy notifications.

Bug: 26425560
Change-Id: Ibb952eb6f8d0d336a1060332f58c8ba622f29867
2016-01-08 10:41:32 -05:00
Jason Monk
66c89c15a0 Add API for System QS tiles to set status icons
Allow system apps that have a Quick Settings tile to show a
status bar icon.  If the quick settings tile is removed, the
status bar icon will no longer be shown.

Change-Id: I875b962bbdf4ff863012de688a3dd29a8d7e11ab
2016-01-08 08:54:13 -05:00
Chris Wren
ab41eecf22 allow listeners to disable themselves
This decouples the user permisson grant from the
bound state of the listener. This allows listeners
that are only relevant sometimes to avoid being
bound as a foreground service all the time.

Bug: 19232554
Change-Id: I9ab078630af5a10c6878d3f19ba80661299713d5
2016-01-07 17:29:29 -05:00
Jason Monk
51c444be14 QS Customize panel cleanup
- Use better service management to ensure onTileAdded and onTileRemoved
   are sent.
 - Fix not always registered as tunable bug.

Bug: 26423350
Change-Id: I56156de8e0edf903509dac594b471700068ebe3e
2016-01-06 16:32:29 -05:00
Jason Monk
5a34cb8a73 Merge "More QS Tile modes in the API" 2016-01-06 14:18:57 +00:00
Julia Reynolds
617215874d DND visual interruptions: prevent screen on.
Bug: 25423508
Change-Id: Ie935a2051e1ae774fbeaf624f3599b2b1bb8666d
2016-01-05 12:49:09 -05:00
Jason Monk
fe8f6826ce More QS Tile modes in the API
Allow tiles to request when they are bound instead of doing it
automatically for them when in the listening state.  Only one
of these modes is allowed for a given tile, meaning it can either
push updates when it thinks they matter, or it can be told when
to update.

Change-Id: I165b39dddb836df90d253aeb5ebea48e62ea0dae
2016-01-05 11:08:05 -05:00
Chris Wren
29b7dd8d69 Merge "implement assistant service connection" 2016-01-04 21:07:24 +00:00
Jason Monk
d5a204f16e Better service management for QS 3rd party tiles
Better wrapper around the service that will handle rebinding
when it dies, binding when it becomes available, and forwarding
along all messages to the service once it binds.

Also better handling of too many services at a time.  Will only
ever bind to at most 3 tiles and will manage which ones are most
important to show based on pending clicks, last update, etc.

Change-Id: I5f4da0bc751f7eb25baa32e5c0bb9f1bc418f5bb
2016-01-04 14:46:11 -05:00
Chris Wren
51017d0e23 implement assistant service connection
Added a guest-mode to ManagedServices.
Like system services, the lifecycle of a guest is not managed.
Unlike system services, guests are not considered privledged.

The Assistant gets all the usual listener events.
Implemented adjustImportance.
Future work: enqueued, clicked, visibility, removed, annotations

Bug: 22455414
Change-Id: Ic41c0bf625b5e98cb577b49098bba23a539bb507
2016-01-04 11:22:37 -05:00
Ruben Brunk
55bed95778 Merge "Add a framework service tracking VR mode state." 2015-12-18 19:50:24 +00:00
Jason Monk
161ccb5dfe Small fixes in TileService
Change-Id: I4d10c43d8e40697d144802067fcd4f95d866e4e0
2015-12-17 21:46:58 +00:00
Ruben Brunk
dd18a0b695 Add a framework service tracking VR mode state.
- Implement a "VR mode" that may be enabled by a focused Activity.
- Add a system service that tracks the current VR mode state and notifies
  other core framework services of mode changes.
- Extend NotificationListenerService to allow the bind/unbind lifecycle
  of specified listeners to be triggered by system events.

Bug: 22855417
Bug: 25479708

Change-Id: I1ac8692bbb5521bb6c7cfb9d2b56b98b720f8568
2015-12-17 10:09:17 -08:00
Julia Reynolds
7eba593b8d Aidl it all!
Change-Id: Ic12e2305a947749a714102a8133321ae07599950
2015-12-16 10:16:23 -05:00