History log of /frameworks/base/core/java/android/service/notification/NotificationListenerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
67f9d5070a74a0bf34f0335899a96dedcac26c96 05-Aug-2017 Jeff Sharkey <jsharkey@android.com> Fix broken javadocs.

Bug: 64337634
Test: make -j32 doc-comment-check-docs
Change-Id: I20fdd3dcddef09111d35946c41c596c7689effa6
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
7ca33079fda388dd3bd81819b280e578e5d6b38b 29-Jun-2017 Julia Reynolds <juliacr@google.com> Hide some systemapi methods

Test: make
Change-Id: I0234ca06f68f0a25e1923e171cb6ef19d848aecd
Fixes: 62342239
Fixes: 62264035
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
0ffc13b9f2fb29c7d23cdafb31c3efef13b14639 27-Apr-2017 Julia Reynolds <juliacr@google.com> Documentation updates

Test: make
Change-Id: I9c02b3bd40ff19615747d238b1156d5d21e492e6
Fixes: 37736867
Bug: 37743680
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f27d6b2b821bf818810a0e303d536906b889588d 13-Apr-2017 Julia Reynolds <juliacr@google.com> Add user to channel/group modification callbacks.

Because listeners can see notifications on managed profiles.

Test: runtest systemui-notification and testing with a sample app
(reading and updating channels and getting change
callbacks on a managed profile)
Change-Id: I5d7af3c417e3a3d18f992cc9ad01fbd7959de398
Fixes: 36783632
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
73ed76bc6f92ecee9ae2e3172ec54c081443953b 04-Apr-2017 Julia Reynolds <juliacr@google.com> Allow companion device mgrs channel access

- Callbacks when channels and groups are modified
- Allow them to read and update channels and groups

Test: runtest systemui-notification
Change-Id: Ie4d02bd4583f71f9faf27603bcc59a1ec0eeaf46
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f619bc5211b4f214e92ef59a023adf006c4f196f 17-Mar-2017 Julia Reynolds <juliacr@google.com> Removing 'delegate' from constant names

Change-Id: I2ac4e3ae08f1084da34ea74fdd5177e2d58987af
Fixes: 35812334
Test: build
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
a11d0b18ec9275ed8d633e4508074226b7372474 16-Feb-2017 Julia Reynolds <juliacr@google.com> Api review feedback.

Change-Id: I4628fcec43ec5dbacd208401d9ace2dbe658da64
Fixes: 35812235
Fixes: 35812334
Fixes: 35812179
Test: make
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5098977b20699c2ed32a621524abd5a1b2ab7de4 23-Feb-2017 Julia Reynolds <juliacr@google.com> Change time methods to durations.

Test: cts, cts verifier, runtest systemui-notification
Change-Id: Ia612f59e91f3a3e1de14cd7217fe18ecaf61033c
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1327d3c3fabc9b4ffeb20e589f7b2350567b681f 17-Feb-2017 Julia Reynolds <juliacr@google.com> Hide incomplete feature.

Test: make
Change-Id: I505a8ee2f2fbdb574f607005579832951f28022a
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
ceecfcf5ccd4790f9ab3a08c3cb7ce4baa2c1eb1 31-Jan-2017 Julia Reynolds <juliacr@google.com> Remove unneeded parameters

Test: cts-verifier
Change-Id: Ifaddd71aa44898c7c16f28f1715fd035861e3be6
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
0ce4b0e4c31a65864e0cda3c9d3fb6fe8a40f2ed 26-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9
am: 9b21265b2c

Change-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8
54de77470de4f605eef7f4b4e01718b301fe275e 12-Jan-2017 Elliot Waite <elliotwaite@google.com> Fix @links in reference docs.

Change-Id: I40cea46efd80c448640ff69753698fe8404da40b
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
2a128746b3466e75b6040147fa831fe12cc2ccbb 28-Nov-2016 Julia Reynolds <juliacr@google.com> Allow notifications to be autocanceled at a time.

Test: cts
Change-Id: I24ebcab2c0fa2028ec5d2984dc3b7ec19391b590
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
cf63ff1532e793560f62e1c75f3402b48b0f09ba 24-Jan-2017 Julia Reynolds <juliacr@google.com> Snoozing API changes

- No one can snooze for an undetermined amount of time
- Only the assistant can unsnooze
- Listeners can retrieve a list of snoozed notifications

Test: runtest systemui-notification, cts verifier
Change-Id: Idfaee6d8bc15a5d41630f86f7e852468b07dc7d0
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
924eed1ca6d3fec5dae7eb0f9c11b8f23f628697 19-Jan-2017 Julia Reynolds <juliacr@google.com> Add updatable fields to Ranking

- NotificationChannel
- Badging

Test: runtest systemuinotification & cts

Change-Id: I7fd1f2dc06148927e9a4bd5b760d436e2c5e8a98
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
7967230de20aeb6993d8332347752c8e508769e4 12-Jan-2017 Julia Reynolds <juliacr@google.com> Send Snooze callback for Assistant

On selection of a snooze context SnoozeCriterion.

Test: runtest systemui-notification & make cts-verifier
Change-Id: Iaca567100c29295fbbf1d327195a114106909652
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
22f02b3e4acd7c6983f4d4d58b85069d5ec920ab 01-Dec-2016 Julia Reynolds <juliacr@google.com> Accept adjustments from notification assistant.

Test: runtest systemui-notification & cts in same topic.
Change-Id: Icff1f89eac32b82d583eca24b0a15f67795912a1
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
7e1ffd737e84f0876efa07ba1cb7ea498f10f92f 28-Nov-2016 Julia Reynolds <juliacr@google.com> Shorten log tag.

Bug: 32437842
Test: manual
Change-Id: Id6f77a2dec30a4da695232d70e441398285f14d0
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
b6c1f99bd96d2f38980f4473baf3aa908d059db2 22-Nov-2016 Julia Reynolds <juliacr@google.com> Allow listeners more snoozing options.

(snooze indeterminately and unsnooze)

Test: runtest systemui-notification and cts tests in same topic.
Change-Id: I5ce74638f55ed796bc6b26af167b32b0040f4222
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
3aa5f1eec08e6c3233f13935ea45c833433a2d27 09-Nov-2016 Julia Reynolds <juliacr@google.com> Expose dismiss reasons to notification listeners.

Test: see cts tests on same topic
Change-Id: Ibae45e125ebc2aa394fbdb41c00341bf0ac101e5
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
85769915e7ef10bef2b5338ed8f04d9b787924fb 25-Oct-2016 Julia Reynolds <juliacr@google.com> Some channel model updates

- Apps cannot update their channel settings after creation.
- Importance is required when creating a channel.
- Some method name changes.
- Ranker can't modify fields a user has changed.
- High and Max importance mean the same thing.
- The default channel adopts app wide settings on creation.
- The default channel is limited to importance low once target api is post n mr1
unless the user changed it.

Test: runtest --path frameworks/base/services/tests/servicestests/src/com/android/server/notification

Change-Id: I73c449a6abe6d709046de79c5c54339cb2edf0b8
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
72f1cbb3b988d6daa61c45a69aa9f8024c029b06 19-Sep-2016 Julia Reynolds <juliacr@google.com> Add support for snoozing notifications

To a notification listener, snoozing will appear as a cancel
(with reason snoozed) followed by a post (when the snooze period
ends).

Apps can repost a snoozed notification, but the updates will not be shown
to the user until the snooze period ends.

Snoozing is canceled if the posting app or a notification listener
cancels the notification.

Any notification listener can snooze a notification. Technically apps
can snooze their own notifications also, though that's not public.

In this iteration snoozed notifications will be lost on device reboot.

Test: included. Also, various post, snooze, update, cancel tests with
a listener.

Bug: 30997603
Change-Id: I568a6448196f0992a17d20a4dac296321ec5092b
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
514c5ef8d5774d8820ed1bf90fe53af1606cf106 25-May-2016 Aurimas Liutikas <aurimas@google.com> Add missing @Deprecated annotations.

Add missing @Deprecated annotations for methods with @deprecated tag
in javadoc.

Change-Id: I35b78ccb97832d86b914c21a300444ba29e33844
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
cf548bfad62b06fd9ad1cf2f1a67bd57a8471c28 20-May-2016 Chris Wren <cwren@android.com> Don't throw RemoteException from new NLS APIs

Bug: 28820058
Change-Id: If4a290ab7549aa999cee348bf0db85b70cb57553
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5ab5c748a850da558a0bcdf9e680228aae4a7646 10-May-2016 Chris Wren <cwren@android.com> document the return type of getImportance

Bug: 28690726
Change-Id: I06508e9e7c38e26e84801b86d6974f01abf5dfc1
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
b66a16d9751d5e0f2b6816367e7d8919d707c692 29-Apr-2016 Chris Wren <cwren@android.com> close a potential race condition in registerAsSystemService

Bug: 27555424
Change-Id: I1537fd1aae3dba83de22d1b245bddd0a3922d289
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
196a05724d73832571c6e4ad5372b05840ec041f 08-Apr-2016 Bryce Lee <brycelee@google.com> Merge "Add granular control over disabled effects." into nyc-dev
e46bb37acf6d3cfb9974672ace93f5381f70ad99 17-Mar-2016 Julia Reynolds <juliacr@google.com> Allow the ranker to autobundle notifications.

Bug: 26709317
Change-Id: I5017a471604e513a7b582cdc2f3472441e108fae
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
7219adadb05d916874e7edff553dfc34bccf94ef 08-Apr-2016 Bryce Lee <brycelee@google.com> Add granular control over disabled effects.

Currently, we can only wholesale disable effects outside of zen mode.
There are some devices that require long running suppression of features.
Effects disabling was added previously to support this. However, calling
suppression was broken recently on a device where we needed notification
suppression, but not calling suppression.

This CL remedies this problem by adding more granular disabled effects
hints. The NotificationManagerService has been updated to handle these
request types and present ZenModeHelper with a unified map of what should
be suppressed.

Bug: 27992763
Change-Id: I38b4706446dfd6e1c3eb97266dbc3332b250adda
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5717bd6ddb9f6c2fca6626ebb34f78feb1ae684a 07-Apr-2016 Chris Wren <cwren@android.com> add an onListenerDisconnected() callback to NLS

Also block all callbacks if the listener is not connected.

Also update the documentation to make lifecycle restictions
more clear.

Bug: 27582839
Change-Id: I029304e1fb87bd8d754cfb4641ba8cc095fc2b2e
/frameworks/base/core/java/android/service/notification/NotificationListenerService.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/core/java/android/service/notification/NotificationListenerService.java
be3696d42552ad55ae0a41e9dd9fe81f5b17d3e7 08-Mar-2016 Chris Wren <cwren@android.com> Merge "rename the asisstant service for the ranker" into nyc-dev
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/core/java/android/service/notification/NotificationListenerService.java
e0ba7eb365ac19fdc11c3f820349f0352761b9f4 04-Mar-2016 Chris Wren <cwren@android.com> rename the asisstant service for the ranker

Bug: 22960980
Change-Id: Ibe57933303a488b01c43a7621a488d425d6f707d
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
b8f53ee812b75b526c3b481b62334e45609fa70e 18-Feb-2016 Svet Ganov <svetoslavganov@google.com> Notification listener and ranker callbacks on binder threads.

The callbacks for the notification listener and notification
ranker were delivered on binder threads which is problematic
becuase: 1) permission checks and app ops checks would fail
unless the app developer knows to clear binder calling id and
restore it after that; 2) developers need to synchronize their
implementation as they get callbacks on different threads (
arguably callbacks should not be concurrent); 3) this doesn't
follow the pattern in the platform;

Also the code delivering callbacks was catching Throwable which
we shouldn't do in general and also masks bugs in the listener
or ranker implementation. Now that the callbacks are offloaded
to the main listener/ranker thread system code should not be
guarding against Throwable to handle exceptions propagated
over binder calls.

bug:26704777

Change-Id: I171fb41bbe25e6105dd05e4166193dbcec594f82
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
b77f9ec93a11841aacb72d4fecd1bf56f6253254 29-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Merge "Revert "DO NOT SUBMIT: Hide VR features for preview."" into nyc-dev
e5d76e827600c44657e328599ffc9d0e8a258e58 29-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Revert "DO NOT SUBMIT: Hide VR features for preview."

This reverts commit cfa66a2a45c3cec6c338d0d83806fb33d63cfd44.

Change-Id: Ibf36092205b14c29935d1f28be5f5b5f64b1d16c
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
8ccb68af89c68e32b908652436acfa339e034bcc 29-Feb-2016 Ruben Brunk <rubenbrunk@google.com> Merge "DO NOT SUBMIT: Hide VR features for preview." into nyc-dev
5081c0de54d05f559dd8b09d2dd2ef5018378959 27-Feb-2016 Adrian Roos <roosa@google.com> Fix crash with decorated custom notifications

Clones notifications before adding them to remote views so
the original stays parcelable on its own.

Also prevents the compatibility inflation from triggering when
an app uses a decorating style to prevent recursive wrapping.
Those styles only exist on N and later anyways.

Also fixes the compatibility inflation in listeners.

Bug: 27368615
Change-Id: Iedf3036bf315dd9c7b476c7e8bcce57de5b5c9c8
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
cfa66a2a45c3cec6c338d0d83806fb33d63cfd44 27-Feb-2016 Ruben Brunk <rubenbrunk@google.com> DO NOT SUBMIT: Hide VR features for preview.

Bug: 26945446
Change-Id: I37e2f9f6ffc65be60bcbef4bdf87da89561ef313
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
0edb50c4bf0a4ae7a40f241c92fa57483ca73552 26-Feb-2016 Julia Reynolds <juliacr@google.com> Api review: NotificationManager

Bug: 27365672
Change-Id: Ic0fd82fb9442d10d6b308182a3859497aa882d07
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
3b84812271cda2386557979503c29f3c530b7f90 26-Feb-2016 Julia Reynolds <juliacr@google.com> Api review: Notification.Builder

Bug: 27364889
Change-Id: I95cee3336f1adb64e37e71a9ab40e68feb1d9c5b
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f0f629ffe44716b8d900929135142f0ebb9325f4 25-Feb-2016 Julia Reynolds <juliacr@google.com> Introduce IMPORTANCE_MIN.

Allow HUNs for >= IMPORTANCE_HIGH.
Allow full screen intents for IMPORTANCE_MAX.

Bug: 22960980
Bug: 26918284
Change-Id: Id4d2b90ea2e21563dbc716db411060d826e73699
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
d560729ce3a6f3d51c03d39768815b4c49f7a8f4 05-Feb-2016 Julia Reynolds <juliacr@google.com> Update DND visual interruption choices.

Change-Id: I7050264839c566dcef1dd01d155dda694a8d1ec0
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
10c63d8a12caf5117524799efea95120f8b0845b 05-Feb-2016 Chris Wren <cwren@android.com> move assistant to system API

Bug: 26693581
Change-Id: I7e29b8521e2c33683b8032e63da734cfde1dfcc9
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
3b543ca859989af2ba9d1bc7b5393dae7ffed874 05-Feb-2016 Chris Wren <cwren@android.com> Revert "move assistant to system API"

This reverts commit c441856bb6c5712efab9d5ef422c95210884a1d8.
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
c441856bb6c5712efab9d5ef422c95210884a1d8 28-Jan-2016 Chris Wren <cwren@android.com> move assistant to system API

Bug: 22455414
Change-Id: I2fbb37fceef3058bc70d540a58fdcd8af5e7a76d
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
2d20a4dcc60a4d87ddf536d40cf00a59fa2d9479 08-Jan-2016 Chris Wren <cwren@android.com> Merge "allow listeners to disable themselves"
0421e6d58635f347f785ae4c78e8b2a5da327138 08-Jan-2016 Julia Reynolds <juliacr@google.com> 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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.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/core/java/android/service/notification/NotificationListenerService.java
617215874db9c208a74dc97f4133e6b6fc96271c 05-Jan-2016 Julia Reynolds <juliacr@google.com> DND visual interruptions: prevent screen on.

Bug: 25423508
Change-Id: Ie935a2051e1ae774fbeaf624f3599b2b1bb8666d
/frameworks/base/core/java/android/service/notification/NotificationListenerService.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/core/java/android/service/notification/NotificationListenerService.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/core/java/android/service/notification/NotificationListenerService.java
1ed71f3722830271602d2d3b2bbd1ba692f75835 12-Dec-2015 Andreas Gampe <agampe@google.com> Frameworks/base: Fix Notification code

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
41c264bae10dda0a1430251aa982dcf79c728bdc 11-Dec-2015 Julia Reynolds <juliacr@google.com> Merge "Add importance to notification guts."
bdf3376616c276ed18a51185351b44fd16eeae29 04-Dec-2015 Chris Wren <cwren@android.com> use importance instead of score

Change-Id: Id3b0a074671943b4fcabb63fe990cbfd1e46bdfd
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
ead00aac154f76abfc9739d76b100597b3e42d96 07-Dec-2015 Julia Reynolds <juliacr@google.com> Add importance to notification guts.

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5d25ee7a006fda7150ba251cff92c27130611f88 20-Nov-2015 Julia Reynolds <juliacr@google.com> Topics can now have an Importance.

Bug: 22451710
Change-Id: I627121da6c4b85492715a8e8a099656dca52b734
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
9fa689f8b614d32f36b5f2de2e3065f4ad6b2358 20-Nov-2015 Chris Wren <cwren@android.com> Notification Assistant API

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f612869ae1190e0885b58a3c33b23d36d7732f06 05-Nov-2015 Julia Reynolds <juliacr@google.com> Allow DND mode to suppress visual interruptions.

Bug: 25423508
Change-Id: Idd8242e4bc00a749dbe0b5503c458375fc017072
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
d9228f1135e51d9380bad990d7178490ec474dbd 20-Oct-2015 Julia Reynolds <juliacr@google.com> Stop populating RemoteViews in Notifications.

Builder now stores its parameters directly in the
Notification object itself, reducing the amount of copying
needed to construct the final Notification as well as
converging the two data structures. All Builder data is now
captured in Notification, so it is easy to reconstruct
a Builder for any Notification object.

This obviates all stripping/unstripping operations because
all Notification objects start life "stripped" of their
RemoteViews, which must be constructed explicitly by clients
(presumably listeners wishing to show the notification to
the user in its conventional form).

Note: While contentView, bigContentView, and
headsUpContentView are being @Deprecated in this CL,
specifying custom RemoteViews is definitely still supported!
You just have to use Builder methods to do so.

Bug: 20153922
Change-Id: I81f8ffed0eb76084b2f2b25b97e325858f0a1d05
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
c6ecbce42b8a529447ff327a7902d9da0aeb4310 23-Jun-2015 Amith Yamasani <yamasani@google.com> Clarify the intention of setNotificationsShown

Updated javadoc with a bit more detail.

Bug: 21572672
Change-Id: I6b24e47fecd5142bb4bac979cb91f7a6359990d5
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
24fb8940b4844e6b121e05c5019361f31d1baf3c 18-Jun-2015 Chris Wren <cwren@android.com> drop corrupt notifications in the Listener

Bug: 21471255
Change-Id: I184507dfafa49b71b91406a1ae0131f930adbb77
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
99a37f137dd3ad15db1cc9b310591e1d50c601b5 09-Jun-2015 Dan Sandler <dsandler@android.com> Null check when reconstituting legacy icon data.

Bug: 21353798
Change-Id: I07f6c7310d4589128b175759f737cf902585f97e
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
8783d3fe761ab943ad73e7c58252806df9e401da 18-May-2015 Jose Lima <joselima@google.com> Make all icon fields & extras sent to listeners backward-compatible.

This also had to be done for when retrieving existing notifications.
For final release, we will only be doing this for
notification listeners targeting older SDKs.

Bug: 21207612
Change-Id: I351f9e13cd052410e7355c956c750c3859f972cb
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f5a7838e19c1cb6437a8b32ba9980ac1ce8804e2 16-May-2015 Daniel Sandler <dsandler@android.com> Make all icon fields & extras sent to listeners backward-compatible.

For final release, we will only be doing this for
notification listeners targeting older SDKs.

Bug: 21207612
Change-Id: I28fdaa5666698150ab455f9bfb63251b9418519e
/frameworks/base/core/java/android/service/notification/NotificationListenerService.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/core/java/android/service/notification/NotificationListenerService.java
f47e51ec605fccf7fed9e50d1adc98fbd4e8b340 17-Apr-2015 Amith Yamasani <yamasani@google.com> More usage tracking

Notification listeners can now report that a notification
has been seen by the user and that package is then marked
as active.

Bug: 20066058
Change-Id: I336040a52c44c21fd0d78b02ec9a19d448c64b40
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1fc476d51203c0b76ebd0f2062adf3059437b0dc 14-Apr-2015 John Spurlock <jspurlock@google.com> 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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
4f1163c83e79da52b2be7ff6b10163441895bc26 02-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Add a new level: alarms-only.

Like no-interruptions, but allows alarms.

Bug: 19260237
Change-Id: I36bf0a333362256c8e54cd83992cb46c3bcb7f69
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
831041036587efbceb395bface176752a6b560bc 13-Feb-2015 John Spurlock <jspurlock@google.com> 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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
0fef44de68c022a35aa34b6f36f8a183c827c684 30-Sep-2014 Chris Wren <cwren@android.com> Add a returns clause to the matchesInterruptionFilter javadoc.

Bug: 17641219
Change-Id: I4f1949902bf872823389f3db8e694e370e113295
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
957ed70273b2cf2bc65cd96ac0e91a35e58a0b6d 25-Sep-2014 Chris Wren <cwren@android.com> getCurrentInterruptionFilter should return the filter value, not the hints.

Bug: 17641218
Change-Id: I4a6ff073c04a3d3624916293824faba40f6226aa
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
704dd61f5be9266b3cfdfeb407b6fc4822bac7af 09-Sep-2014 Christoph Studer <chstuder@google.com> NoLiService: Delete @removed meetsInterruptionFilter

This should not break any apps as this API has been marked
@removed more than a week ago.

Bug: 17425123
Change-Id: I19d7e933a3f2a59e1b406a9f87d272f058a13e0d
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
69dd40d08a164d5c357442733cf291719dfe94e8 05-Sep-2014 Griff Hazen <griff@google.com> Merge "Reduce chance of notification listener dropped messages." into lmp-dev
3ad4e3a45bbe44129b14c4d391431e44f1e04f0c 02-Sep-2014 Chris Wren <cwren@android.com> Honor per-app sensitivity setting.

Settings are stored by NotificationManagerService in the policy file,
and are communicated to NotificationListeners via a hidden API on the
RankingMap object.

Bug: 16324353
Change-Id: I2d5cf6782273744cbf9b309dec76780cc0a4c39e
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
84a00ea9e3df3ff051d3e86945d2befea32072ee 03-Sep-2014 Griff Hazen <griff@google.com> Reduce chance of notification listener dropped messages.

The existing code for notification manager/listeners uses a oneway
binder api to deliver messages. One problem with this is that
notification objects can sometimes get fairly large, and can bump
into the oneway binder transaction buffer if many happen at once.

To reduce this issue, flip the service into a oneway delivery of
a status bar notification holder, whose wrapped content is then
immediately fetched upon receipt of the one-way message. This moves
the meat of the fetch to be over a two-way interface without changing
the properties of which object is actually sent (a tickle solution
with lookup key would have changed this)

Further research: attempt to chunk notification objects themselves.
They can sometimes transfer hundreds of KB over a binder transaction.

Bug: 15426276
Change-Id: Ib1a1f4ff848c16f80bcf2ae4dfd2b87a9091f0b2
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
223f44e1d2cc56fa965cdb9f112afae1c498cbbd 02-Sep-2014 Christoph Studer <chstuder@google.com> NoMan: Drop archive size to 100, strip EXTRA_BIG_TEXT

Bug: 15557701
Change-Id: I348b9648dbb941b2fa40b169d5ca82b9f9ba21f4
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
b82bc785c966b59621a3a2523ba7cdf84a73697b 20-Aug-2014 Christoph Studer <chstuder@google.com> NoMan: Allow listeners to specify notification trim

Bug: 16574195
Change-Id: I116080df8b73d73040cf9dbc751e25ee118641d7
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
85a384b4256121eb85b7e72bcd50f3348f365d41 27-Aug-2014 Christoph Studer <chstuder@google.com> NoListener: Factor out ZEN mode API

Bug: 17255109
Bug: 17295014
Change-Id: I7e1f6e29b8a23b8e59a8615a8012a86bd5dd22d7
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
ce7d6d292b2309eff95d4206b09858f13fff5213 26-Aug-2014 Christoph Studer <chstuder@google.com> NoListener: meetsInterruptionFilter -> matchesInterruptionFilter

Rename Ranking.meetsInterruptionFilter() to matchesInterruptionFilter()
as suggested by API council.

Marking the old version @removed for now, will remove once prebuilds had
the chance to update.

Bug: 17255109
Change-Id: Iaee094df2dddf82029e127c194ea88581d1a48bb
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
ea75fddbb452638f286c2fcdbddff145ee1a85cb 12-Aug-2014 Dan Sandler <dsandler@android.com> Allow listeners to fetch current notifications by key.

Bug: 16574195
Change-Id: I269dbcc7fc8912d84229f6a3d950b0015625ae7a
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5c8ea2c369deab75719fe7c7301846a8ef955702 08-Aug-2014 John Spurlock <jspurlock@google.com> Merge "New api to sync zen mode state from listeners." into lmp-dev
d8afe3c41e65a8f6ff4283c124ba250c92cf50c6 01-Aug-2014 John Spurlock <jspurlock@google.com> New api to sync zen mode state from listeners.

- Allow connected listeners to request changes
to the primary device's interruption level.
- Rename alerts -> effects in the other constant,
which does not affect interruption level.
- Rename "flags" -> "hints"
- Basic NoMan wiring for level hint.

Bug:15888672
Change-Id: I2b07fb2c9d32a143fff7c260b7d2cd4d0cd3a592
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
ce2e23ff69427a069cbdcd6bf4fa6097cbf04b4d 03-Aug-2014 Christoph Studer <chstuder@google.com> NoMan: Fix speedbump when no low-prio notifs

Bug: 16705179
Change-Id: I32329710c27052c35b64ba91759200341ed0b127
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
4600f9b60753adab4e65258a05744a46938fce86 22-Jul-2014 Christoph Studer <chstuder@google.com> Strip RemoteViews from Notifications, re-create them in SysUI

Bug: 16329721
Change-Id: Ic0bea763ffaec4c5644ca78705007211ac6b4b88
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
dda48f12212a24371de0e6ba2e5e637925cd9b5e 29-Jul-2014 Christoph Studer <chstuder@google.com> NoListener: Optimize RankingMap

Cache ranks and interception bits instead of re-calculating
them every time they're accessed.

Change-Id: I2c6bbeaa01648d03ff8b3690b7f21cef4e2b9d97
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1fa865f396e94913cfbbd32ce7799c2e8aeb7a08 21-Jul-2014 John Spurlock <jspurlock@google.com> New NotificationListenerService listener flags api.

Give activated listeners the ability to request changes to
listener-level or host-level state.

Currently this consists of the ability to suppress notification alerts
(alerts = the haptic / audio feedback of a notification).

Bug:15888672
Change-Id: I045e3b99d1f15e3f96ebaf17d3083a97e02ecb42
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1d599da8424cef8d07cb4c533bd212d992d8f676 12-Jun-2014 Christoph Studer <chstuder@google.com> NotificationListenerService API: Avoid unnecessary allocations

Instead of producing Ranking objects, RankingMap just populates
them now, allowing developers to re-use objects and avoid
unnecessary allocations.

Also rename isInterceptedByDnd() to meetsInterruptionFilter(),
since DND is not a concept anymore.

Bug: 15415840
Bug: 16099064
Change-Id: If9861cbdf14593e641a4d4ffd1b967647eb8e2b8
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
d0694b6735a9d91794e6096961231e07364ba3fa 04-Jun-2014 Christoph Studer <chstuder@google.com> NotificationListenerService: API updates

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5c507c1371d273cdff61d2395d47bd54fa26d614 06-Jun-2014 Jeff Brown <jeffbrown@google.com> Rename PrivateApi annotation to SystemApi. (DO NOT MERGE)

Change-Id: I97b473884f81ad375d0733e4766afe091dfdd854
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
cee44ba418bef83571349acb2d24ef29833502e0 20-May-2014 Christoph Studer <chstuder@google.com> Simplify NotificationListenerService API

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
05ad48206a082057e17723d32493c153faa6881e 16-May-2014 Christoph Studer <chstuder@google.com> Add ZEN and speedbump to NotificationListenerService

Change-Id: I39fae5d77863e0d10cf236a096cc589167d146d3
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1941fc718690d6b87db68b6a133c71fb470599d0 14-May-2014 Chris Wren <cwren@android.com> Extend NotificationListenerService to support system use cases.

Bug: 14846846
Change-Id: Ic308b2f78c86393304d446c57fd677294e01717c
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
f953664dc17dca23bd724bd64f89189c16c83263 17-Apr-2014 Chris Wren <cwren@android.com> notification ranking infrastructure

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
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
a263e4e438746f91fb78857bd569ba4f796a346d 03-Mar-2014 Kenny Guy <kennyguy@google.com> Pipe notifications from related users to listeners.

For Listeners built against L or greater
Send notifications from related users to listeners.
Return notifications from related users getAllActiveNotifications
Cancel notifications from related users in cancelAllNotifications
Deprecate StatusBarNotification.getUserId() and expose getUser()
as APIs should use UserHandles.
Deprecate cancelNotification that takes package, id and tag
in favour of one that takes key.

Fix bug that notifications from related users didn't
trigger sounds.

Change-Id: I1b1c20c9f305b8f3c4047bc5720d8e99cdedfe70
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
a4294297d46cc0b9f45897bc688c267502cce3ef 24-Mar-2014 John Spurlock <jspurlock@google.com> Enhance the NotificationListenerService api.

Add to NotificationListenerService:
- getActiveNotificationKeys() : String[]
- getActiveNotifications(String[] keys) : StatusBarNotification[]
- cancelNotifications(String[] keys) : void
- onListenerConnected(String[] keys) : void

Add to StatusBarNotification:
- getKey() : String

Bug:13562828
Change-Id: Idd9605dad8f942d68b4b32ab9625faf6c8642db9
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
da9a3bed8e1aa7d7867291a123466bb0a3be5bb0 12-Feb-2014 John Spurlock <jspurlock@google.com> Improve error handling in listener services.

Check explicitly for null listeners in NMS, throwing
IllegalArgumentException (on the small list of exceptions
that survive RPC boundaries) with a message.

Normally this situation is caused by listeners that attempt to
perform NM-related actions before they are bound. Check for
this case in the base NLS class and avoid the call to NM if we
know it will fail.

Although it's tempting to throw an IllegalStateException on the
client side, preserve the existing semantics for backwards-compatibility
purposes. That is, silently fail (or return null) - and provide a
log warning.

Bug:12805707
Change-Id: I0d92fd0d460a8592e8a23fd8fd718ae2ba3bd4c7
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
c133ab8258f8e976f402d57456b1f06d11a78b03 10-Jun-2013 John Spurlock <jspurlock@google.com> Log errors found in notification listener callbacks.

Otherwise, exceptions thrown inside listener callbacks are
not logged at all.

Change-Id: Iaef28e06abc4d6caf66051725e14a17ac954173e
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
04667dae3a5e45257c12d11dbcb4fc353a18d842 26-Apr-2013 Scott Main <smain@google.com> fix javadoc build
also add some docs to the service

Change-Id: I712710de403bc000c0a69a2de726bace6e7873bd
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
e6f7f2e3a01b8deb00e03ccfa93751c315f14ef0 25-Apr-2013 Daniel Sandler <dsandler@android.com> API cleanup: NotificationListener

- Wrap all public member variables in getters and make
slots private
- Rename clear* methods to cancel* to be more consistent
with existing public Notification API

Bug: 8656860
Change-Id: I84f7e71fbb627f859352a93089c6a531b44dac95
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
25cf8cee6f304a286d321204e448b18ce733a60c 24-Apr-2013 Daniel Sandler <dsandler@android.com> New NotificationListener API: getActiveNotifications()

This allows a listener service to catch up on the current
state of the notification panel at any time, including at
startup.

Bug: 8656860
Change-Id: I1a3d665d84576e17870929a63dda334afc696010
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
1a497d3a2b1496c12949e47e55f8e46d8f585be5 18-Apr-2013 Daniel Sandler <dsandler@android.com> Fix concurrency issues when parceling StatusBarNotifications.

Protip: Don't mess with Bundles after you've sent them off
for parceling in an RPC.

Note that this change reduces the payload size of
StatusBarNotification objects received in
onNotificationRemoved() callbacks; it scrubs out the
RemoteViews and Bitmaps just as the NoMan's internal archive
does. [You don't really need that information anyway when
hearing about a removed notification; most likely all you
need are the other slots on StatusBarNotification, but
nulling the whole Notification object breaks a lot of
clients.]

Bug: 8616295
Change-Id: Ic899045f2352b96dcf064d3e9e51dad52629aea3
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java
5feceebb892d4cb5777cea3c6174b206705d456b 23-Mar-2013 Daniel Sandler <dsandler@android.com> New NotificationListenerService.

This is the best and only way for apps to listen for
notifications: create a NotificationListenerService, wait
for the NoMan to bind to you (as a result of the user
checking a box somewhere in Settings and agreeing to a
scary dialog box), and you'll start receiving notification
posted and dismissed callbacks. Your service, while enabled,
will also be able to clear one or all notifications.

Use this power wisely.

This change moves StatusBarNotification out of
com.android.internal into android.service.notification.
[Internal customers, including System UI and early users of
the system-only listener binder API, will need to be
updated.]

Bug: 8199624
Change-Id: I1be46f823d4b3ddc901109ec1e085cd6deb740c2
/frameworks/base/core/java/android/service/notification/NotificationListenerService.java