History log of /frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5e3fb57af80f91dc882eab910e865e3c22ae02be 19-Jun-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Reduce no-op notification log messages." into oc-dev
0171f574cf1d297a36c01d69b8e53e82862fe9c3 14-Jun-2017 Dan Sandler <dsandler@android.com> Reduce no-op notification log messages.

Only log when channels or groups actually change.

Change-Id: I43e5a4f946962fc2d200f0d40d1744a938c83ca3
Fixes: 62487398
Test: runtest systemui-notification
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
642b8d4d8f1ecd5612fcde0913cd9d295c6996f6 13-Jun-2017 Shunta Sato <shunta.sato@sonymobile.com> Make RankingHelper$Record.groups thread-safe

Symptom:
System crash is happened due to NPE at RankingHelper.writeXml.

Root cause:
RankingHelper$Record.groups.values() returned null. Record.groups
is an ArrayMap and this is not thread-safe. When multiple clients
call NotificationManager#createNotificationChannelGroup and
deleteNotificationChannelGroup at a same time, Record.groups is
changed by multiple threads simultaneously. As a result, this
ArrayMap object gets broken.

Solution:
Use ConcurrentHashMap instead of ArrayMap.

Test: runtest systemui-notification, test app
Bug: 62557189
Author: Tetsutoki Shiozawa <tetsutoki.shiozawa@sony.com>
Change-Id: I2261dbd1ace4915695528595b9d14d68e5bec55d
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
7ddf54211f35ef9cf203154db36148d659b53a7d 27-May-2017 Selim Cinek <cinek@google.com> Merge "Fixed a bug where min-priority were in the middle" into oc-dev
3a2ac3e11b336deb272e733dbdfc08317ce78b31 26-May-2017 Julia Reynolds <juliacr@google.com> Merge "Allow some system notifications to be blocked." into oc-dev
55a3e738a695d23982eb2e904f47a3435994a325 26-May-2017 Selim Cinek <cinek@google.com> Fixed a bug where min-priority were in the middle

The recent intrusiveness could elevate min priority notifications
temporarily and the reordering was also blocked while looking at it.
We're now allowing the shade to reorder if a notification updates to
min-priority.

Test: manual, add intrusive notification, update while looking at the shade to min
Change-Id: I75b23a7cbaecc8ae941d6680a924c79371c95991
Fixes: 37515606
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
e6bf4f808d9eebebfb9faffc78abb81a4f4038d9 26-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Allow the creation of IMPORTANCE_NONE channels" into oc-dev
f732159cf8d6a4e1cd17542a3a2cf020ad6919a3 24-May-2017 Julia Reynolds <juliacr@google.com> Allow some system notifications to be blocked.

- Happens at a channel level, and system services have to opt in

Bug: 38428796
Test: runtest systemui-notification, manual
Change-Id: I5592b4e32c177844583aee25379390199eef0a58
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
5fe2eae6b9a2da7791b4686958425b6f0d89dc49 22-May-2017 Julia Reynolds <juliacr@google.com> Fix backup and restore of package blocks

-Restore block status for apps that already exist
E.g. apps on the system image
- Stop depending on appops, it's duplicative and
not backuped/restored

Fixes: 38340377
Test: runtest systemui-notification, toast and notification
cts tests, backup android, clear data on packages, restore android,
verify that blocked apps stay blocked.
Change-Id: I29a33d7db2701bd64a7b30411dcf77c0a2f321d1
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
3e50bf6f97eb3b6ce45c5f5746687f76253ac38d 24-May-2017 Julia Reynolds <juliacr@google.com> Allow the creation of IMPORTANCE_NONE channels

- Users will still be notified of foreground services
by the system even if the app posts their fg service
notification to a blocked channel so this restriction isn't needed
- This allows apps to cleanly port over their pre-channels notification
settings

Fixes: 62028083
Test: runtest systemui-notification

(cherry picked from commit 3f25f4d6fe24f3782d6e156f9969d98ab3c8b4bf)

Change-Id: I1cd8cfaf31f00088e267bd3fb1bd7912f4397c69
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
f26eb916987f7c0e5d32af2fc10ef09f62e83f16 22-May-2017 Julia Reynolds <juliacr@google.com> Re-add default channel on app targetsdk downgrade.

Test: runtest systemui-notification, and manual: adb install the
apk pulled off dogfood device, verify that sending an email
results in a toast pre change and no toast + notification
post change.
Change-Id: Ia3db55959906f38a5dc34cb38a33072c1f2dd64f
Fixes: 38437227
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
91f674eeda97e15d156bb87c2399fa334844c00b 18-May-2017 Jeff Sharkey <jsharkey@google.com> Merge "Unbreak APK 26 apps running on "O" preview/beta builds." into oc-dev
e103b7808b29d3b7c6fdef092d607d511457ecfd 18-May-2017 Dan Sandler <dsandler@android.com> Unbreak APK 26 apps running on "O" preview/beta builds.

Bug: 38391358
Test: runtest systemui-notification
Change-Id: Ib78dd3e2a3dcb16faae33a0d5a07475187fb3463
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
13f157feeddbac0d0303759214c6db3c5c477007 12-May-2017 Chris Wren <cwren@google.com> catch USER_ALL in badging check

Bug: 38264652
Test: runtest systemui-notification
Change-Id: Id482ed4984eef83ad0e9876acda5addb65aca5f9
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
34bc4af8109b1221305036a528324b8d754b501f 12-May-2017 Julia Reynolds <juliacr@google.com> Merge "Show misc channel with pre-upgrade fields" into oc-dev
89aa2261903fd09b08a2210a7a1b35d329f8330a 06-May-2017 Chris Wren <cwren@google.com> add a global control for badging

Content observer callbacks don't specify the user,
so scan all the users we know about. User switches
will also trigger an update which will explicitly
check the setting for the (now) current user.

Migrate tests to TestableContext to allow the test
to safely override secure settings.

Bug: 36021111
Test: runtest systemui-notification
Change-Id: I588068382912955da114cc351df7a1e7b4f0733f
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
17717f5a6d46632cb75df78fd2a7038a4ac764ea 09-May-2017 Julia Reynolds <juliacr@google.com> Show misc channel with pre-upgrade fields

- for apps that don't target O but use channges

- Rename misc channel if it already exists
- Add method so settings can tell if it needs to show legacy config

Bug: 38120923
Test: runtest systemui-notification
Change-Id: I5c7c077321f1792851b003b9d9e42505dddd50f0
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
e0b25746267972b370a1c773ad18d146ee8163c3 08-May-2017 Julia Reynolds <juliacr@google.com> Lock relevant fields on channel update

This is safe for O as all updates come from a trusted
source.

Change-Id: Iab8ec1e68f8f9f9e345ebf4d5e44718191cc49e6
Fixes: 37986254
Test: runtest systemui-notification
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
e2361d978be6b0d5be134885285bff122395f8f8 05-May-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Revert "Treat apps that use channels as O apps"" into oc-dev
a22f644c79213138c232f3067b5f780a9c43b04c 05-May-2017 Geoffrey Pitsch <gpitsch@google.com> Revert "Treat apps that use channels as O apps"

This reverts commit 07a08b2ae92cc26b5e7ec00064e6ecea79d3d9c3.
Bug: 38016678
Change-Id: I0bf2f6da9e145bfe1f79449cac38ad34f5956969
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
2e9bf5fa7a2a27a16f0c2ef09030a0d5a7a13a8e 03-May-2017 Julia Reynolds <juliacr@google.com> Remove notification settings for deleted users

Test: runtest systemui-notification, manual
Change-Id: I221554479cf6bedb36b17d5e9bbc05307af9b89b
Fixes: 37941356
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
07a08b2ae92cc26b5e7ec00064e6ecea79d3d9c3 01-May-2017 Julia Reynolds <juliacr@google.com> Treat apps that use channels as O apps

... even if they don't target O

- Delete misc channel
- Read settings from channel instead of notification

Test: runtest systemui-notification
Change-Id: I00814959eddd10998806dd67cc30421091ae9aab
Fixes: 37540996
Fixes: 35378789
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
5644ccd1855e0ee14f1f5a5f1ac2490fa414af71 17-Apr-2017 Geoffrey Pitsch <gpitsch@google.com> Delete default channel for all apps targeting O.

Change toast to be for debuggable builds only.

Bug: 35378789
Test: runtest systemui-notification
Change-Id: I36247b003ead00bf1f9f3bed9c1a38a53db18c71
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
fa04e143d833ab28b50752ec7c91c2458b7ad5a4 23-Apr-2017 Julia Reynolds <juliacr@google.com> Update app level fields when misc channel is updated

So user settings aren't lost when the app migrates
to using channels

Test: runtest systemui-notification
Change-Id: I5774997ea33a892fa45f614bb3dd8de7e681f58c
Fixes: 37603697
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
d8c0ac42dee86997a7a06d15f9e7ccbc0da862e0 23-Apr-2017 Julia Reynolds <juliacr@google.com> Don't allow devs to create blocked channels

Test: runtest systemui-notification
Change-Id: I11942e4268acc70ffcbcda08eed4e13e64f4b12f
Fixes: 37559814
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
440119679893ee3d4fcccad8ce9faaaf8e54dcad 14-Apr-2017 Julia Reynolds <juliacr@google.com> Synchronize access to ranking helper records.

Fixes: 36282438
Test: fix is mostly hypothetical. did try clearing data
on a lot of apps while a backup was in process.

Change-Id: I58977a972d187bce2c013d55a95298b23bc0eda8
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
184b86da382b8e24cdd0e5629e70d7057d418883 12-Apr-2017 Julia Reynolds <juliacr@google.com> Allow notification channels to be silent.

This better accomodates those apps that play their own sounds.
Since most apps don't play their own sounds, update the documentation
on notificationchannel to add guidance about when they should add a
sound.

Fixes: 37237013
Test: runtest systemui-notification
Change-Id: If00b15b1b44da66d24dacb2895e9a6c0a06d1890
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.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/services/core/java/com/android/server/notification/RankingHelper.java
9394a8fc62817a34b85d91c0004c924166952936 07-Apr-2017 Geoffrey Pitsch <gpitsch@google.com> Merge "Don't delete new notification channels not present in backup" into oc-dev
6eccf0016b230971cafd8ae0c2fdf0d2a54e3719 05-Apr-2017 Geoffrey Pitsch <gpitsch@google.com> Don't delete new notification channels not present in backup

Test: runtest systemui-notification
Change-Id: Ib25a680487b20700b9936926c1769a4d8f81b62a
Fixes: 36785228
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
60315337024c9ab7dc81f269c676bb8fc17e0700 04-Apr-2017 Julia Reynolds <juliacr@google.com> Remove unneeded methods

Test: make, make cts, make cts-verifier, runtest systemui-notification
Change-Id: I25b559cfcc30f2d85f468adf840f9124e80f00b0
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
326eb2ee802958b53455affbf4a6adb34d3fa6e4 03-Apr-2017 Geoffrey Pitsch <gpitsch@google.com> Fix deleting Misc channel for o-aps

Change-Id: If5ebebcd1b983e12dee860801db578dfe882bd9c
Fixes: 36816111
Test: runtest systemui-notification
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
2c98e18ce5f82ee8a93fcaa30c038fe0ab52f253 22-Mar-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Null check! Now with a test"
8e0eb372c9c5c941609daca554c92a44ee61c063 21-Mar-2017 Julia Reynolds <juliacr@google.com> Null check! Now with a test

Test: runtest systemui-notification
Change-Id: I0b98b3dd6aeaa7e300bba98b7d7f7f5afae16596
Fixes: 36245468
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
2c891c92fabb0ef8fdb77870b0272c156c71c7f0 17-Mar-2017 Julia Reynolds <juliacr@google.com> Allow channels to have a user visible description.

Test: runtest systemui-notification, cts
Change-Id: I0d04b82c99deecad663d8cb0565563f00e8a1f56
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
1f17e024a1152eda828a0e9924daa30cfac1193d 03-Jan-2017 Geoffrey Pitsch <gpitsch@google.com> Delete the Default Channel when an app starts using channels.

New apps should create their own channels.
Not using channels will silently fail.

STOPSHIPS:
Throw to provide better feedback for developers.
Delete the default channel for all apps that target O.

Test: runtest systemui-notification
Change-Id: Ic93f103efe397f563eaaf1c2e7d8bf9093b2b2e1
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
d0a5b1684a6dcfead423d9f7a67e7386bda33805 18-Mar-2017 Julia Reynolds <juliacr@google.com> Don't backup deleted channels.

Change-Id: I58a23700c9f6ccf5d3d6b7fa9f80be78ef9421f0
Fixes: 36381209
Test: runtest systemui-notification
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
9bfba59417fd0789023005064565d744ed7483d2 15-Mar-2017 Julia Reynolds <juliacr@google.com> Better deletions

- Allow apps to delete notification groups (which cascade to delete all
channels therein)
- Allow apps to get their groups, so they know what they might want to
delete
- Don't throw if someone tries to delete something that already doesn't
exist.

Change-Id: I5f6e25497c5da1e57b52737586e86097332f88f9
Fixes: 36245468
Fixes: 36127382
Test: runtest systemui-notification, cts
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
41103f42126acbd602de81ac87a2e605492ff528 15-Mar-2017 Julia Reynolds <juliacr@google.com> Support for showing deleted channel count in settings.

Bug: 36119790
Test: runtest systemui-notification
Change-Id: Ie30243314d64ded66267d0dc85cc0ad940d917f8
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
1d97e6a0c1341e3a6d8547fa843cb60ce6677a11 13-Mar-2017 Julia Reynolds <juliacr@google.com> Remove resource id channel/group name fields

Apps can listen for the LOCALE_CHANGED broadcast to
change names if needed.

Fixes: 35336590
Test: runtest systemui-notification, cts, manual
Change-Id: I62d2778f61e99200692755a6f268828a374837e6
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
e866533f11a137a0b179c11856c6334d8b1b195e 13-Mar-2017 Julia Reynolds <juliacr@google.com> Allow blocked apps to create channels

Change-Id: I64b90332095f949af003db3db98da75b22a09c64
Fixes: 36040396
Test: runtest systemui-notification
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
3d91f1109b3921b6e67d28463a9fb1bc6f537791 03-Mar-2017 Julia Reynolds <juliacr@google.com> Allow channels to be renamed.

Because string resource ids aren't stable.

Test: runtest systemui-notification
Change-Id: Iaaa07b8c8cc1c8c321c7fedbfe1e252b4c1153dd
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
d373d78d15e1ede87ac47d7b9698717b2d1c4fc4 03-Mar-2017 Julia Reynolds <juliacr@google.com> Log notification channels and groups.

Test: manual, runtest systemui-notification
Change-Id: I326a35ae87e7a3dc4b2587271056b7dd5cd11f8d
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
03fa85ddccb30a6f1dcfeaec9dcbba062e5f8573 06-Mar-2017 Julia Reynolds <juliacr@google.com> Prevent creation of default channel.

Test: runtest systemui-notification
Change-Id: Id56debdca2a11bdac5ae11832eaaa04842f0a9be
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
3fb989b1b6a11ee42cb27ecf5c8ea4e520ccb81a 28-Feb-2017 Julia Reynolds <juliacr@google.com> Change group ranking.

Rank notification groups where the highest child ranks

Change-Id: Ia45455a34fc10ece75e11a7b58c60a6b2e59a7c3
Fixes: 34844490
Test: notificationtestlist
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
d5286843737e1117d5c6e90567fd7099a32c3a64 02-Mar-2017 Julia Reynolds <juliacr@google.com> Allow resid notification channel group labels.

Test: cts, runtest systemui, runtest systemui-notification, manual
Change-Id: I9e7b43c97fd04057e1a2614876af958cc2f40a99
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
5a31193497fa923e24bc5c9796b40fdfae604d31 01-Mar-2017 Julia Reynolds <juliacr@google.com> Allow translatable channel names.

Bug: 35336590
Test: runtest sytemui runtest systemui-notification, manual
Change-Id: I1e6ebbcc36cab22ab9b2dfde505a68513544ef52
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
31b2baac8d121bfd2bc9785b17fc385a8d282438 22-Feb-2017 Julia Reynolds <juliacr@google.com> Add missing sound to important channels.

Test: runtest systemui-notification
Change-Id: I7b091d312220e3830f2cd613b7ac08f75c5f0a8c
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
df44b606f357bb67e7a3b44e58f551c1c731ce42 03-Feb-2017 Geoffrey Pitsch <gpitsch@google.com> Updated Inline Notification Controls

Removed old xml resources, strings, dimens, etc
Different behavior when sent from the default channel.
Display how many notification categories are used by the app.
Group label when channel is associated with group.
Add package icon.
Fix tap-away-to-save behavior

Test: runtest systemui
Change-Id: Ib41a536a5c4e7c7747a2453eddc3b4b4b99ffa7a
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
74856c4a611b337ded6d3eee14c710cf5f7aae77 08-Feb-2017 Julia Reynolds <juliacr@google.com> Retrieving groups shouldn't have side effects

Test: runtest systemui-notification, viewing settings
Change-Id: Ib43fe6ad2af4763b633ad1690f69d17533915dbb
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
529e3329e68963eff0dd1cf40d938a9953cd5060 06-Feb-2017 Julia Reynolds <juliacr@google.com> Let developers choose a light color for channels

Test: runtest systemui-notification & cts
Change-Id: Ibfab57924d0a9093af23191ebdd68ce1c0da6eca
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
619a69f722b75241b372cf7b01b45b2dd1c862fa 27-Jan-2017 Julia Reynolds <juliacr@google.com> Add audio attributes to notificationchannel

Test: runtest systemui-notification, cts, manual
Change-Id: I33b5a67190409fe2fc2bc7e2cbbd67ea38bc0655
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
f02562aeee90e2972849214b715dcfc86aa3084e 26-Jan-2017 Julia Reynolds <juliacr@google.com> Show channel groups in settings

Empty groups shouldn't be visible to client code.

Test: runtest systemui-notification
Change-Id: I319b035886ce1bd4b6839ebf46a2c3be7b2387cf
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
59e152e92e6ebb71bab974973ce29b4f8d11f7cf 25-Jan-2017 Julia Reynolds <juliacr@google.com> Add notification channel groups.

Test: runtest systemui-notification, cts
Change-Id: I3ed82f2b20d3f791b7cae379a49373cb41231739
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.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/services/core/java/com/android/server/notification/RankingHelper.java
4036e8d4c636ae36f28585d283b522a7a97eaf72 13-Jan-2017 Julia Reynolds <juliacr@google.com> Save deleted channels.

To discourage the pattern of deleting channels and
recreating them to get around user settings.

Behavior:
- Creating a deleted channel brings back the old channel
(with it's old settings)
- Updating a deleted channel fails
- public getChannel apis should not return deleted channels

Also align data clean up done when clearing data & uninstalling
a package

Test: runtest systemui-notification, cts, cts-verifier

Change-Id: If19c20311c978fd8d3b1cb8b234dc1e68c7356be
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
9f7fd6c734527b33e40a9f0d8199c961d52694bb 10-Jan-2017 Geoffrey Pitsch <gpitsch@google.com> Merge "API improvements for creating NotificationChannels"
03533715295154f0bb66f84b7c25832d21156805 05-Jan-2017 Geoffrey Pitsch <gpitsch@google.com> API improvements for creating NotificationChannels

Remove listener for aysnchronous operation.
Allow multiple channel creation from a single call.
Silently no-op for creating existing channels.

Test: runtest systemui-notification
Change-Id: Ibc1340d21efa0c12d126bee437adcbb99141e86a
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
aebfc4e7a3e3b66382e9004d5ed141b50e26a71b 06-Jan-2017 Julia Reynolds <juliacr@google.com> Cannot have badge only channels

Test: runtest systemui-notification & cts
Change-Id: I256e35a79400c1d25b3d2f1c7c5f8c513242a2aa
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
f35e3976e3c01077f8d8d0938d2ba0b3e5b80613 05-Jan-2017 Julia Reynolds <juliacr@google.com> Allow apps to enable notification badging.

Test: runtest systemui-notification
Change-Id: Ia16d671d864d1eee902652e31f023e30dc6b7387
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
baff400fa5a93d157934818982fcf534327f9830 15-Dec-2016 Julia Reynolds <juliacr@google.com> Add badging support for channels.

In this iteration badges are a user opt in feature.
Known issue: all listeners will receive 'badge only' notifications.

Test: runtest systemui-notification

Change-Id: Ic7450bf4de5351cfdc72bd96ec946fe6e035035c
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
d5261e1d0afd04c01c73636be7392d65959446eb 19-Dec-2016 Julia Reynolds <juliacr@google.com> Use userid of sender, not notification target.

When trying to find a package.

Bug: 33178040
Test: manual, ./vendor/google/tools/fake-ota on
Change-Id: I0b69c37f16e7e1763bff4df1650911fe3435bc77
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
4a02afbf04ccf7068cd9279d3e828834850c387d 13-Dec-2016 Julia Reynolds <juliacr@google.com> Change notification shade ordering.

Certain ongoing and people centric notifications can now
(mostly) trump importance-based ordering.

Bug: 30374279
Test: runtest systemui-notification
Change-Id: Ieab6015174f9595c08057dc408233202035aae3e
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
52e64d0162bd71164c6e23e3975e98091f70588a 09-Dec-2016 Julia Reynolds <juliacr@google.com> Give assistant ability to modify channels.

Test: cts on same topic
Change-Id: Ia0db73d4d81a89e0821ba6a06f12823605dbea73
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.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/services/core/java/com/android/server/notification/RankingHelper.java
32c97ef3c8efae999f68664320fa1200ff435f12 28-Nov-2016 Julia Reynolds <juliacr@google.com> Blocked packages can't create channels.

Test: runtest systemui-notification
Change-Id: I3f0560a71adc33d9881021f920ce2824b96ddc14
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
f57de46d0b16fea790dc29062bf5e47cf63bae3e 23-Nov-2016 Julia Reynolds <juliacr@google.com> Allow apps to set vibrations pattern for channels

Test: runtest systemui-notification, cts
Change-Id: I9125e9c437e3888ba7e7582bb3557635a2aea893
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
0c299d4d6316d14e43d386b4562782083fe3c886 15-Nov-2016 Julia Reynolds <juliacr@google.com> Prioritize channel sound & vibration settings.

Unless the app is not targeting O and the user hasn't set
a preference in Settings.

Also apps no longer need the vibration permission to vibrate with
a notification.

Test: runtest systemui-notification
Change-Id: Ia84b1c97d13cb479db07035ca622b1fe52261329
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
ec00da9714c9b5d6b3b2850520d7344789df3350 04-Nov-2016 Julia Reynolds <juliacr@google.com> Have a userId? use it.

Test: manual; upgrade an app on a secondary user and validate
policy xml.

Change-Id: I68a9f4ad541725817344ea295b2589efd31443a4
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
b3a04f0816a1c8e16468c9906e0fc9e1a4cd99d4 04-Nov-2016 Julia Reynolds <juliacr@google.com> Never use getApplicationInfo.

Always use getApplicationInfoAsUser.

Test: runtest, and install a work profile app and post a notification.

Bug: 32615127
Change-Id: I92cdf42d791d27eaff64b945be96b216e5866f6d
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
1864ff5dae054e86f527426ef9887440d3277bcd 02-Nov-2016 Julia Reynolds <juliacr@google.com> Replace test TODOs with ACTION.

Also call packagemanager less.

Test: runtest
Change-Id: Icff2a5b9e7fff49ef8cf7b643c198707a6089007
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.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/services/core/java/com/android/server/notification/RankingHelper.java
808913e008b1038d7f6ad5442ae203ada7290a81 13-Oct-2016 Julia Reynolds <juliacr@google.com> Fix restore of notification preferences.

Test: change prefs on package a. trigger a local backup.
uninstall the app. trigger a restore. install the app. verify
that its preferences are restored in settings.
Bug: 31514485
Change-Id: I1d8a9b52c996d326aee650110e31fe80907703a7
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
b5e44b796618c376cf535e43aaa86ea4522e7770 16-Aug-2016 Julia Reynolds <juliacr@google.com> Add Notification channels

In this iteration:
-Every app gets a default channel that notifications will be posted
to if they don't specify a channel themselves. The default channel
inherits app-wide settings on upgrade.
-Apps can create new channels without user approval, but apps
cannot change the name of a channel once created, nor can they ever
set the importance.
- When a notification is posted:
- If the channel is marked as 'vibrates', vibration will be
applied to notifications that lack a vibration. unlike the default
notification flag, notifications will retain their custom vibration
if given
- Same with sound and lights
- A notification's importance is the min of the app and channel
importance
- A notification can bypass dnd if: either the app or channel settings
say it can
- A notification's show on lockscreen setting comes from the app first,
and the channel second if the app has no preference

Tests: in cl. also there's a cl for cts and a test app.

Change-Id: I630f99df655800b00586dcfab538d320d04fe0f0
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
7f7b7d5a14a1e5502cef1496d2f75f87e467d502 09-Aug-2016 Julia Reynolds <juliacr@google.com> Clean up zen rules and permissions immediately on uninstall. am: 6434eb2e04
am: eaf9974125

Change-Id: I80252835f84de0fc22491c5aa95595819c0d945c
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/RankingHelper.java
b0800dce4abdca9aeef1cf72018906c2476c4c6b 21-Apr-2016 Tobias Thierer <tobiast@google.com> Avoid instantiations of Boolean that are immediately unboxed.

Replaced Boolean.valueOf() -> parseBoolean() across frameworks/base
(not including Am.java, which I'm leaving for a separate change).

Also fixed a couple of other valueOf()s in SyncStorageEngine.

Bug: 28289401
(cherry-picked from commit ca0182073530a237babe65b9ec7a9b41e667f8d1)
Change-Id: I2c6fb39a465885e7e625ed8894b1b9f8a30da5bc
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
a09b4d2a611a7606e8fc8c73a24bd941b6fc173f 15-Apr-2016 Narayan Kamath <narayan@google.com> Remove unnecessary allocation+unboxing of objects.

Transforming String->int can be done with 0 allocations
using Integer.parseInt.

bug: 28078871
Change-Id: I8d9f322d7154728849dde61ef282046032858d60
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
acf424a37a87afe78ef6d4c92e2bf1d56fe4b686 15-Mar-2016 Chris Wren <cwren@android.com> don't call other services in dump

Currently the ranker config file is synced to app opps.
Also sync App Opps to the config file.
Then use that data to inform the dump, instead of polling.

Bug: 25424580
Change-Id: I6089532aa8618a31bfc3a36bee630c04c3ef3798
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
ef37f284364cc45c2ed91bfe04c489d2cedd32d2 12-Feb-2016 Julia Reynolds <juliacr@google.com> Remove Notification Topics.

Bug: 23220370
Change-Id: Ifbcdbab1cf6974c192483091512f75762784a98e
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
fec58c263c6e3da3fa449fac1d0c2630c8d66bd6 12-Feb-2016 Julia Reynolds <juliacr@google.com> Show topic settings inline if user has configured topics.

Change-Id: Icf51faad61b3ae4261991691a1d679b190ea712a
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
81afbcdbf96c687b61ed53170e1654f4f8ea5b15 09-Feb-2016 Julia Reynolds <juliacr@google.com> Allow apps to know what users think of their notifications.

- App wide blocking
- Topic importance

Change-Id: I9026e5c26c5dbcab1c86c385beede891f961933f
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
dd3e86bcb0b6a5dc356d903df88c3d5a15510f7c 02-Feb-2016 Julia Reynolds <juliacr@google.com> Allowing querying for apps with blocked topics.

Bug: 26882239
Change-Id: If888cb18891a412067bcb28e575f502c6091f77a
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
92d456e9a62d7dadb3e21f481f7453bd82b1aa23 25-Jan-2016 Julia Reynolds <juliacr@google.com> Show app level settings when an app doesn't use topics.

Change-Id: I205062868ac3a44aa24a29bcb82a9374026287a7
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
85aa6cb1779635bb3b6b3ba739fc4ee3813bba3a 08-Jan-2016 Julia Reynolds <juliacr@google.com> 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
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
e06b4d1d9f718b9fe02980fea794a36831a16db2 06-Jan-2016 Jeff Sharkey <jsharkey@android.com> Consistent naming for PackageManager methods.

When hidden PackageManager methods take a userId argument, they
should be named explicitly with the "AsUser" suffix. This fixes
several lagging examples so that we can pave the way to safely
start passing flags to new methods without scary overloading.

Also fix spacing issues in various logging statements.

Change-Id: I1e42f7f66427410275df713bea04f6e0445fba28
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.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/RankingHelper.java
be8fdee532cff806a7482863b7c72e907547d127 18-Dec-2015 Julia Reynolds <juliacr@google.com> Differentiate between apps that use topics and those that don't.

Bug: 22451710
Change-Id: Idb567a4fc511a03cb999179765cfa4cbeb63dcb7
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
a07af88b9566e34ecb0cfd07f225d7ceb181e8bb 17-Dec-2015 Julia Reynolds <juliacr@google.com> Allow users to set app-wide Importance default

And the associated ui changes to the notification guts.

Bug: 22451710
Change-Id: I4e0b11e7b24d70b039a432c5e6cd76c9c7cc547c
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
5d25ee7a006fda7150ba251cff92c27130611f88 20-Nov-2015 Julia Reynolds <juliacr@google.com> Topics can now have an Importance.

Bug: 22451710
Change-Id: I627121da6c4b85492715a8e8a099656dca52b734
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
da30354438fe4f9645c67de2916fcbbb5c7adce6 23-Nov-2015 Julia Reynolds <juliacr@google.com> Be more resiliant to notifications that don't use a builder.

Bug: 25772839
Change-Id: I526001a21f959f7229443f487439c51c8d84f1ea
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
233a5f97ea7b46814747a99f584b08d4e8c70105 19-Oct-2015 Julia Reynolds <juliacr@google.com> Implement notification ranking by topic.

Including sensitive notification visibility & DND bypass.

Bug: 22451710
Change-Id: I5f3a0c6d59de0495cb904bad6f886eb29ed4bda4
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
bc253a28582c4cdd56cc8a0d49cd69b4624cfb4b 18-Nov-2015 Julia Reynolds <juliacr@google.com> Remove 'peekable' preference.

To be replaced by 'importance' in the future.

Bug: 22854014
Change-Id: Idc9ca79b145d5c69e769c9239ed9291dce40d8c8
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
ddbe4ca1ca3c585cf86dac3823947ebacb7c9be6 14-Aug-2015 Xiaohui Chen <xiaohuic@google.com> Clean up USER_OWNER in notifications

Bug: 19913735
Change-Id: Ib6c2ed11eee6adf062a6dff00c99e62945153f9e
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
5eab2b72afe5b20dc66c237b1cceedfc09de2d52 16-Jun-2015 Chris Wren <cwren@android.com> high-frequency notification stats.

Aggregate and then periodically report stats that are high-frequency
because they are driven by app behavior, not user behavior.

Reuse the NotificationUsageStats facility.
Remove redundant stats.
Lessen memory foot print.
Enable in-memeory aggregates with small, bounded memory footprint.

Bug: 20258744
Change-Id: I87e391419c53917fa13c68a56f8cdb40a7c8e548
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
35ef0a626c89af03d40df1a4eda73aa6725c0941 28-May-2015 John Spurlock <jspurlock@google.com> Backup/restore notification policy.

- Include zen + ranking config in the backup payload.
- Owner user only for now.
- For the most part, reuse existing policy file structure
as the payload format, but elide items that do not survive
across devices (info for secondary users, uids).
- Also elide the manual zen rule, if set.
- During restore, keep ranking info for uninstalled apps
in purgatory until the apps exist.

Bug: 17755700
Change-Id: Iadf71a43cd0efd44fe9a0a29874d60666b6d2076
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
1d881a1e986c706963c254fbe2b6296a1cd10b75 19-Mar-2015 John Spurlock <jspurlock@google.com> HUN: Implement per-package config.

- Keep track of whether or not HUNs are allowed per-package.
- No impact on ranking, purely presentational.
- Simplify RankingHelper with a package table.
- Improve RankingHelper dump.
- Fix some warnings and typos.

Bug: 19776495
Change-Id: I28d69df69b576f4eabbb528eabecb1f736f0e830
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
08c7116ab9cd04ad6dd3c04aa1017237e7f409ac 28-Feb-2015 John Spurlock <jspurlock@google.com> Remove unused imports in frameworks/base.

Change-Id: I031443de83f93eb57a98863001826671b18f3b17
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
85374052e3c359884b7a54266666243d049dca7e 08-Oct-2014 Christoph Studer <chstuder@google.com> RankingHelper: Remove STOPSHIP

Remove obsolete debugging code that was marked STOPSHIP.

Bug: 17919719
Change-Id: I025410c191960382486456c9edd7675a14f0fa4b
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
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/services/core/java/com/android/server/notification/RankingHelper.java
2b122f4c2e691f0319e4f9ea5873989792bb56a6 27-Aug-2014 John Spurlock <jspurlock@google.com> Add a hidden system method to check call filter.

As a stopgap for dialer, add a NoMan method to check
whether or not contact extras meet the current notification
interruption filter, if phone calls are allowed at all.

Bug:17299986
Change-Id: I4d7e04b974d878504ef4e3a73cb6b602cdd2f73e
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
cd4adf8b5ef9ac1f90fdddbb405404e173aedc87 19-Aug-2014 Christoph Studer <chstuder@google.com> NoMan: Fix inconsistent notification comparator

Switch second phase of notification sorting to lexicographic
string comparison in order to enforce a consistent comparison.

Note that this slightly changes the logic: Within groups we
previously fell back on authoritative rank comparison when
one of the notificiations didn't have a sort key. Now we
just replace missing sort keys with " ".

Bug: 16626175
Change-Id: I91f4f4afeeb2c8edda6cd2668011a7367795086c
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
1031c974855ff4117a6d7866e664295786840319 23-Jul-2014 Chris Wren <cwren@android.com> Honor the sort and group keys for notification ranking.

Sort notifications naturally, then move group childen to be next their proxy.
The group proxy is the summary, or if no summary exists, the lowest-ranked
member of the group is chosen as the proxy.

Notifications with a sortKey but no group and placed into a synthetic
group that consists of all notifications from that package and user in
the same priority bucket that also have sortKeys.

Expose a new API for listeners to get the group key for the notificaiton.

Bug: 15190903
Change-Id: I324ba0c394affdabb3588ca2ebafa7cf0acad2af
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
cf7ed583080b6c958f5a02817110505bae2a17df 23-Jul-2014 Chris Wren <cwren@android.com> Revert "Honor the sort and group keys for notification ranking."

This reverts commit df09d4c348f9f2aea10391b27d157d8b71a9e189.

Change-Id: Idbc9ed5c5c83cd0cad5a71872bcc203321a11e9e
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
4a24fd3c7bab53e4e9c127214e7168db0af8800a 17-Jul-2014 Chris Wren <cwren@android.com> Honor the sort and group keys for notification ranking.

Sort notifications naturally, then move group childen to be next their proxy.
The group proxy is the summary, or if no summary exists, the lowest-ranked
member of the group is chosen as the proxy.

Notifications with a sortKey but no group and placed into a synthetic
group that consists of all notifications from that package and user in
the same priority bucket that also have sortKeys.

Bug: 15190903
Change-Id: I377ed65b9592079446da4a4189f5ab49d28630ec
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java
54bbef435ed857fc68941672799fc8001c101119 10-Jul-2014 Chris Wren <cwren@android.com> Implement application-level high priority bit.

Enable checkbox in settings and wire it to NotificationManagerSerivce.
Add RankingHelper to collect ranking configs and logic.

Bug: 15080024
Change-Id: Ib1d3b0b5ca4fcfdc52c2cb6838a009b9addf1094
/frameworks/base/services/core/java/com/android/server/notification/RankingHelper.java