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
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
* 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
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
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
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
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
- 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
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
Keyboard shortcuts are requested via WindowManager, and
the request pipes through to the view root and the window
callback.
Bug: 22405482
Change-Id: Ic0071e91c7b554be3ac9df71e9539ee8a60e822e
- 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
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
- Dismiss notifications from banned topics
- Don't ban all topics when banning an app.
- Block notifications from banned topics.
Bug: 26154396
Change-Id: I1d94e6176a413386d89f8dc1c4899aee8a8a73b8
- 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
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
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
- Use better service management to ensure onTileAdded and onTileRemoved
are sent.
- Fix not always registered as tunable bug.
Bug: 26423350
Change-Id: I56156de8e0edf903509dac594b471700068ebe3e
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
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
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
- 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
Avoid a NullPointerException in NotificationListenerService when
a corrupt notification is found.
Fix not using the return of trim() in NotificationManagerService.
Bug: 19797138
Change-Id: I84dc15eba7b4052a774eb69d36591d100105f169
Note: the guts are still trucated to the height of the notification.
The slider initially shows the importance of the individual notification,
but changing the slider changes the importance for the whole group
of notifications.
Bug: 22451710
Change-Id: Id6de3aaace2bdb88a8cc5db517002dc7f0e349ae
This API allows a single assistant on the device to help the
user manage their notification stream by taking actions on
individual notifications:
- modifying their priority up or down when they are posted
- possibly changing if and how the notification interrupts the user
- adding annotations under notifications
Bug: 22455414
Change-Id: Idf47972bb71c83f1dc1c9ec68a6fa92ac4fc522f
Add a TYPE_QS_DIALOG window type, that is in the same layer as
apps and dialogs and such. It is guarded by having a token
that is granted by SysUI after a click has occured. If the
app shows a dialog before listening finishes (QS closes) then
the token will stay granted until the tile is removed by the
user, otherwise the token will be removed immediately to avoid
later dialogs.
Also fix a couple tiny TileService issues:
- Stop/Start listening reversed
- Fix javadoc referencing wrong action
Change-Id: Iedcdd5fd9a2af2b33eb7f6f17bb0e6c997879876