History log of /frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
6434eb2e041946ec7acce41b7b76f12548f0d4e3 08-Aug-2016 Julia Reynolds <juliacr@google.com> Clean up zen rules and permissions immediately on uninstall.

Change-Id: I8d03f4a4347b7d7bffbe267961c75ed5863a4113
Fixes: 30740759
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
a1b79bfd7a15006a93da933695359765e0fee495 24-May-2016 Felipe Leme <felipeal@google.com> Allow apps to bypass Power Save restrictions when launched from a Notification's PendingIntent.

This scenario typically happens when the device is on Doze Mode and a
notification action is triggered from a Wear device.

In a nutshell, the workflow is:

- ProcessRecord has a flag telling whether a process has "whitelist
management" privileges.
- When NotificationManager binds a new NotificationListenerService, it
sets the BIND_ALLOW_WHITELIST_MANAGEMENT flag.
- On bind(), ActiveService asserts that only system apps can set that
flag.
- On computeOomAdjLocked(), ActivityManagerService sets the
ProcessRecord flag if necessary.
- Upon creating a notification, NotificationManager calls AM to mark its
PendingIntents as coming from a notification.
- When PendingIntentRecord sends it to the target, it checks if it's
from a notification and if so calls AM to do the temp whitelist.
- On unbind(), ActiveService removes the ProcessRecord flag if necessary.

Fixes: 28818704

Change-Id: I00d46036a2cbb73f7f733fd35bf0b743a02807a1
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
0c4eeb498571708b2cca261b8f8519efae5a49c6 12-May-2016 Chris Wren <cwren@android.com> fix filter for listeners that are not the rocket

Bug: 28664037
Change-Id: Id1e4b243ed7423dbd2d4a8ead829cba9b20f30cd
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
6e839b006e102b4c2d9f495fe0551e7668dae61e 13-Apr-2016 Julia Reynolds <juliacr@google.com> Allow notification listeners full DND access.

Bug: 27976092
Change-Id: I15da87f4b6a17e43ced80ea473288b43d20195d8
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
a3dc1fb0b7f236012fc82360c18c063bb4fc8f69 12-Apr-2016 Julia Reynolds <juliacr@google.com> Remove category from managedservices.

Bug: 27976092
Change-Id: Ic6303b95fc6d612e83f3a42a933ae94bd7c17255
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
1c9bd42aa31aa22c4c9708c58ad7f01cfd17297e 15-Mar-2016 Julia Reynolds <juliacr@google.com> Rebind managed services more

- Rebind all on user switched
- Rebind Ranker on package replacement

Bug: 27551241
Change-Id: I6b0fe25dd68e2f1f118fde2b8e638193e1ad1868
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
a82662e3f5d6a36df9d5c0d33d5847d08273bd93 09-Mar-2016 Chris Wren <cwren@android.com> Merge "add a ranking service to the rocket" into nyc-dev
0efdb88ccc9d650e7a644b9be8f63792f2c66841 01-Mar-2016 Chris Wren <cwren@android.com> add a ranking service to the rocket

Bug: 22960980
Change-Id: Ic0e911a2f048a4b47171b338c3de13125852be43
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
e24b9a6cfa4d565d7f49c9ae8f3aeca737d93312 17-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Add a VR listener service.

Bug: 22855417
Bug: 26724891
Bug: 27364145

- Add an API for VrListenerService, which is bound/unbound
from the framework when the system VR mode changes.
- Allow only a single bound VrListenerService at a time.
- Monitor allowed VrListenerService implementations from
VrManagerService and evict services as needed when packages,
users, or settings change.
- Remove previous VR functionality in NotificationListenerService.
- Add component target to Activity#setVrMode to allow
explicit selection of the running VrListenerService from
the current VR activity.

Change-Id: I776335f4441be0e793d3126f2d16faf86a8c621a
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
9a86cc0c31f47741adb245a32ec10b3f6780763b 10-Feb-2016 Julia Reynolds <juliacr@google.com> Don't unbind services unnecessarily.

When rebinding services, don't unbind from services that are still allowed to
be bound.

Change-Id: I5f250724d2d0931ee0ac7d1182e9c1d8122bfdf0
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
a3dcafff6d92418ad192ea10f906bdf0947f0ce9 03-Feb-2016 Julia Reynolds <juliacr@google.com> NoMan support for FBE.

Rebind to service components that should now available.

Bug: 26941542
Bug: 26940790
Change-Id: Id5290a75894f61cf55b3a2b82d08b1533bf099ca
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
47633425339245a7b126c3e3310994e1a87d5399 22-Jan-2016 Chris Wren <cwren@android.com> implement onNotificationEnqueued callback

Bug: 22455414
Change-Id: I9dafc7b8cbf0268b28d9e9fb0cae9c3b451be52c
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
ab41eecf22352f54167ce9a272a397715ffd0015 05-Jan-2016 Chris Wren <cwren@android.com> 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
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
51017d0e23ce9855fabcf786a2067ceb19121fbc 15-Dec-2015 Chris Wren <cwren@android.com> 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
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
dd18a0b69537954d1cc34929a1386deb54f12b14 05-Dec-2015 Ruben Brunk <rubenbrunk@google.com> 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
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
083094c363867c8085cfbf2147f6bcc21b90c084 15-Dec-2015 Chris Wren <cwren@android.com> fix notification manager crash

Bug: 26207891
Change-Id: I51c8665de03fb0afa1176d6cf31f98cab9749306
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
50f0514e6957b38d98a6c95d871fd9993e6cd191 30-Oct-2015 Julia Reynolds <juliacr@google.com> PackageManager can return null.

Change-Id: Ie1fb3d5276c0b176a09e5510f26624e8087c90d4
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
c279b996f13e644782633853612452860e596308 30-Oct-2015 Julia Reynolds <juliacr@google.com> Use preexisting DND access setting for condition providers.

So that apps that are already whitelisted don't have to be whitelisted
again if they add a CP.

Bug: 22977552
Change-Id: I4042d531178ab63d5d1e5b963fc081e3ed523835
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
76c02686cd02efc3b21874919c54d5bbeb0f069f 17-Sep-2015 Denis Kuznetsov <antrim@google.com> Fix Notification settings upon installation after Restore.

When new package is installed, code incorrectly checked if any actions should
be taken in onPackagesChanged(), there was no check if this new package is
listed in :restored settings.

Rest of CL is related to building list of packages mentioned in :restored setting,
and to adding unified mechanism for reading/storing list of component
names to/from setting.

Bug 20764607

Change-Id: Id9b1843fe8d39f40751ff2eccbc8dd2a488ef5ac
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
1b8b22b1a412539020f78a132cff7c8fa7fae258 20-May-2015 John Spurlock <jspurlock@google.com> Zen: Calendar auto-rule tracks primary calendar for corp profile.

- Track the calendar provider for the managed profile user if found.
- Add userId to the shared data structure to disambig calendar ids.
- Delay rule update a bit to guard against chatty updates.
- Fix logging in calendar rule.

Bug: 21155107
Change-Id: Id2303fcc39b1fa7417b1844b7869d773ef92434c
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
807749301fcbda892dfc8a5832b19acf7d1cf53b 07-May-2015 John Spurlock <jspurlock@google.com> Zen: Simplify notification policy api, add zenmode api.

- Remove the concept of a notification policy management token
in favor of a simple grant/deny per app. Currently, all requests
are immediately granted.
- Add zen mode getter/setting, limit to apps that have been granted
policy access.
- Add intent for zen mode changes.
- Public name for zen mode = "interruption filter", moved from
NotificationListenerService to NotificationManager.
- Add settings metadata for new DND access Settings screen.
- Add the split sender settings for calls vs messages to the public
Policy api.
- This change is meant to finalize the public api, persisting
granted app status and showing the user-visible dialog will be
done as followups.

Bug: 18298798
Change-Id: I511be98d69939f057c0c7dc1a6dfe63d1c468193
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
d69e4c1460017062e7c36be55801cb434ad19d97 24-Apr-2015 Dianne Hackborn <hackbod@google.com> Update use of procstate for services.

Now that we have a separate foreground service proc state
(above a sleeping top app), update various system services
to put their bindings into this state when appropriate.

There are two new bind flags for this -- one that just always
makes it a foreground service, another that only does it when
the device is awake (useful for things like the wallpaper).

And with all of that, tweak network policy manager to only
include apps that are at least foreground service state when
in power save and device idle modes. This will allow us to
further reduce the set of apps that have network access
(in particular not giving access to the current top app when
the screen is off), hopefully leading to even better battery
life.

Change-Id: I91d85a5c5ed64e856149e9a5d94a634a7925ec7f
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
6597e3435f8abfedbb9a4f1bfb10cc17ea7f38bf 17-Feb-2015 Christopher Tate <ctate@google.com> Notification listener backup & restore

We now back up & restore the set of enabled notification listeners. Post-
restore, a listener that had been enabled on the ancestral device will be
enabled on the current device as soon as it's installed, matching the
user's previous configuration. After this has happened the enable/disable
state for that app is not "sticky"; disabling it again will work as
expected.

The infrastructure for accomplishing this is general: it can be leveraged
by any ManagedServices derivative. There's a bit of extra wiring in the
settings provider to support the restore-time information flow as well.
This is because ManagedServices -- like many other parts of the system --
monitors writes to the settings provider and does work in response to new
writes of the elements that it cares about. Unfortunately this means that
there is no way to use the BackupAgent's restoreFinished() hook to post-
process the restored data: by the time it is run, the ManagedService's
observers have already executed and culled any unknown components from
the description that was just pushed into settings.

As of this patch, the settings provider's restore logic knows that a
particular settings element will require a message to interested observers
about the restore-driven change. The message is delivered as a broadcast,
and is sent after the new value has been committed to the settings db.
Adding other system ManagedService handling that parallels this will only
require adding a new corresponding entry to the table of individual settings
for which the relevant "this settings element is being restored" broadcast
is sent, found in SettingsHelper.

(It isn't sent for all settings elements because very few settings elements
have semantics that require it; 3rd party code won't be running yet during
platform restore anyway; and sending up to hundreds of broadcasts during
setup & restore is far from ideal.)

Bug 19254153

Change-Id: Ib8268c6cb273862a3ee089d2764f3bff4a299103
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
b53dfd4faeb57a51b6cdfc6bde6a441ef9a7ec31 12-Sep-2014 Christoph Studer <chstuder@google.com> NoMan: Refresh ManagedServices on user switch

Fix a bug where ManagedServices didn't unbind from obsolete and
bind to new services after switching the current user.

Bug: 17477093
Change-Id: Ica28978a01f84ba17bdd93e2feaf68547e837bcc
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
4db0d98b42a723f2e16c6595e85e866fd26c6d98 13-Aug-2014 John Spurlock <jspurlock@google.com> Zen: Downtime now a condition provider, persist conditions.

- Persist the entire exit condition instead of only the id.
- Make downtime a proper condition provider (similar to the
existing countdown provider for time-based conditions)
- Move all downtime-related items out of ZenModeHelper and
into the new condition provider.
- Reevaluate downtime more often, when any of its inputs change.
- Make sure downtime appears as an available condition in the
condition panel when applicable.

Bug:16296125
Bug:16211189
Bug:17031767
Change-Id: I1d8269a4e6fe170ce776bf932dbbdfb29dd25dd7
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
25e2d24f24040e58a61169db797f760b16c11f5d 27-Jun-2014 John Spurlock <jspurlock@google.com> Add optional package filtering to notification dumpsys.

$ adb shell dumpsys notification p <fragment>

Change-Id: Iddcc45066187e0e9d5812275de132dd6bba2a135
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
5d423844f253951a1d79dabe638aba81a21207bc 23-May-2014 Christoph Studer <chstuder@google.com> NoMan: Don't unbind system listeners

Listeners registered via INotificationMananger.registerListener()
must not be unbound by NoMan because it won't be able to re-bind
them later.

Bug: 15131411
Change-Id: Ic5088252c86e7c32c522ba1606f123cefde3720d
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
3e144d3dfcf209349ead9995877f53feb0b5a66e 22-May-2014 Christoph Studer <chstuder@google.com> NoMan: Allow SysUI to register as listener

Expand ACL of INotificationManger.registerListener() from
system only to system or SysUI.

Also call onListenerConnected() on listeners connected via
INotificationManger.registerListener().

Bug: 15131411
Change-Id: I8f2ce34325ad72c7740b383de2ebb9fb88dea5d3
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
af8d6c44f06d2f8baac2c5774a9efdae3fc36797 07-May-2014 John Spurlock <jspurlock@google.com> New quick settings implementation.

Bug:14133785
Change-Id: I7f57f8e7ebcc3e1a06fa5204f477470f14299e1f
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
3b98b3f1f85aff0c84ebef4dd497c146d1b4d248 01-May-2014 John Spurlock <jspurlock@google.com> Implement long-term condition subscriptions.

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
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
e77bb36d48b6b8b5c3bb6a1195aca469bb237919 26-Apr-2014 John Spurlock <jspurlock@google.com> Wire up condition providers to zen mode exit triggers.

Bug:13743109
Change-Id: I4e45d7050d1f9aaa379f46379a3203e61e216a3d
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java
7340fc8665ae3f9f1978f42aa0e5e1da85036158 25-Apr-2014 John Spurlock <jspurlock@google.com> Introduce condition provider services.

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
/frameworks/base/services/core/java/com/android/server/notification/ManagedServices.java