summaryrefslogtreecommitdiff
path: root/core/java/android/app/NotificationManager.java
Commit message (Collapse)AuthorAgeFilesLines
* Use ParceledListSlice for ZenModeConfig and AutomaticZenRulesMatías Hernández2025-10-071-2/+2
| | | | | | | | | | | Also, use writeString8 for Zen-related parceling. Bug: 387498139 Test: atest NotificationManagerZenTest ZenModeConfigTest (cherry picked from commit 3965123f440345017facfe9f767b22d79e55aeab) (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b633b92249a80c4502da12ba66d73bc322bd46b4) Merged-In: I9925c9bcc542781832d111660e22181151526127 Change-Id: I9925c9bcc542781832d111660e22181151526127
* Forbid granting access to NLSes with too-long component namesMatías Hernández2023-09-181-0/+6
| | | | | | | | | | | This makes the limitation, which was previously only checked on the Settings UI, enforced everywhere. Fixes: 260570119 Fixes: 286043036 Test: atest + manually (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6fcdbd0c6efc67b014b8e1b43c5ec233f912ee8b) Merged-In: I4c25d80978cb37a8fa1531f5045259d25ac64692 Change-Id: I4c25d80978cb37a8fa1531f5045259d25ac64692
* Clarify documentation about targets of DND-related broadcastsMatías Hernández2023-02-171-3/+12
| | | | | | | | Not only registered BroadcastReceivers get these broadcasts; any app with Do Not Disturb access will. Test: N/A, Javadoc change only Fixes: 269728091 Change-Id: Ib4ebe034b47e6a8f6d902eeba4352939f5f24ebe
* docs: Fixing badly-formatted doc commentAndrew Solovay2022-10-101-2/+2
| | | | | | | | | | | | | | The Javadoc specification doesn't actually define a {@more} tag. The Java-reference engine interpreted it as a paragraph break, but the Kotlin doc engine (more properly) passed the tag through verbatim. Replaced it with a <p> to make it a paragraph break in both languages. Bug: 247563816 Test: (docs build) Change-Id: Ib7bb4c2628141b7479c338f1d3fb28da503b847f
* Update matchesCallFilter guidance to recommend tel: codesYuri Lin2022-02-091-5/+12
| | | | | | | | | | Using tel: or mailto: works for repeat callers, and the new documentation recommends against using a contacts content lookup URI, as we don't explicitly look up phone numbers associated with the contact at the time of the matchesCallFilter call. Bug: 183924362 Bug: 203806689 Bug: 192592755 Test: NotificationManagerTest Change-Id: I4786f3206f145ab4273a1151a9356101582e9044
* Update toString on NotificationManager.PolicyBeverly2021-12-221-2/+5
| | | | | | | | | So that the toString is more accurate to what the policy represents. Bug: 209498360 Test: manual Change-Id: Ib4987b30bb1987a58a3e30c39b20a185553bbc96
* Revert^2 for adding permission enforcement for matchesCallFilter.Yuri Lin2021-11-021-0/+4
| | | | | | | | | | | | | | | | | | | This change limits callers of matchesCallFilter to those who have listener access, contacts read permission, or are system/SysUI/phone. The previous attempt at this change broke phone functionality because the original permissions of this method (system or systemUI or phone) were not necessarily covered by "listener or contacts access". Revert submission 16150992-revert-16077951-yl-mcfperm-TORWDGEVSS Reason for revert: Trying to re-submit changes but with fixing the tests/functionality that they broke Reverted Changes: Ib5c6814de:Revert "Enforce that callers to matchesCallFilter ... Ie93693688:Revert "Test permissions for matchesCallFilter in ... Bug: 204523343 Bug: 192592755 Test: atest IncomingCallTest#testRingOnIncomingCall; NotificationManagerTest Change-Id: Ic250d912d7f9b3351442927d822e9cd2ec632346
* Revert "Enforce that callers to matchesCallFilter have either li..."Daniel Chapin2021-10-291-3/+0
| | | | | | | | | | | | | Revert "Test permissions for matchesCallFilter in NotificationMa..." Revert submission 16077951-yl-mcfperm Reason for revert: Droidfood Blocking Bug: b/204523343 Reverted Changes: I8e7c8b699:Enforce that callers to matchesCallFilter have eit... I8a05ffa89:Test permissions for matchesCallFilter in Notifica... Change-Id: Ib5c6814de37cae4260fb35b50a1bfc95143e1b2d
* Enforce that callers to matchesCallFilter have either listener access or ↵Yuri Lin2021-10-271-0/+3
| | | | | | | | | | read_contacts permission. This constraint is because matchesCallFilter potentially exposes contact information for users whose DND settings involve only allowing calls from contacts or starred contacts. Bug: 192592755 Test: NotificationManagerServiceTest, NotificationManagerTest#testMatchesCallFilter_* Change-Id: I8e7c8b6994cb9668e22c3a7fc017d4401338369d
* Add matchesCallFilter function to NotificationManager.Yuri Lin2021-10-111-1/+54
| | | | | | | | | This method takes a URI for a phone number that's calling and returns a boolean indicating whether the call would be allowed to interrupt the user. It's a light wrapper around the pre-existing (hidden) matchesCallFilter call that takes a Bundle with the same information. Bug: 192592755 Test: atest NotificationManagerTest Change-Id: I6e819b28b0f5047f005258bfd6044c6670628789
* Store DND rule ownersJulia Reynolds2021-06-161-3/+5
| | | | | | | Test: uiservicestest, cts Fixes: 189332346 Change-Id: Ie546c15c25fcbd193b67cb997220f075691e9bab
* API feedback: make bubble pref an int defMady Mellor2021-04-071-1/+9
| | | | | | Test: TH Bug: 184204590 Change-Id: Ie8b138e8686dc8be89dbb9ef0698552040e89c8d
* API: Expose whether bubbles are enabled or notMady Mellor2021-03-301-1/+15
| | | | | | | | | | There's no way for devs to check whether the user has disabled or enabled bubbles at the feature level. This adds an API for devs to make this query. Test: atest NotificationManagerTest NotificationManagerServiceTest Bug: 171162184 Change-Id: I3b201e8267f36b45473987db773c08663b8d8126
* Switch to controling if toast rate limiting is enabled using TestApi.Jan Tomljanovic2021-01-081-0/+17
| | | | | | | | | | | We tried to use compat changeid to turn rate limiting on/off in CTS tests but it doesn't work on user builds (see bug). We're therefore migrating to using a new TestApi guarded by a new permission that we give to the shell. Test: atest android.widget.cts.ToastTest Bug: 175720818 Change-Id: I2ef147ed6449333fc6b4273eca82bce533cb13f3
* Merge "Expose NotificationManager#getBubblePreference"Mady Mellor2020-12-151-4/+43
|\
| * Expose NotificationManager#getBubblePreferenceMady Mellor2020-12-081-4/+43
| | | | | | | | | | | | | | | | | | | | Previously we were only able to expose whether bubbles were "all" allowed rather than the selected state. Since we can change APIs again lets expose the specific prefs. Bug: 170267239 Test: atest NotificationManagerTest in CTS CL Change-Id: Ie83934fe1a6b1639fad54967b67e86f6eeeff7cf
* | Stop writing approved pkgs to SettingsJulia Reynolds2020-12-031-1/+2
|/ | | | | | | Test: xts, cts verifier for flows for setting and unsetting Bug: 172839851 Bug: 172839327 Change-Id: I8206e9ced3472b10c26349ddb4b2fffae1d190ca
* Merge "Store user_set for notification listeners"Eugene Susla2020-10-291-3/+11
|\
| * Store user_set for notification listenersEugene Susla2020-10-291-3/+11
| | | | | | | | | | | | Bug: 165951651 Test: atest android.app.cts.NotificationManagerTest#testGrantRevokeNotificationManagerApis_works Change-Id: I69ec26d90b9e4c0e5836b19c695fa9ecb64d30d5
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. This is a resubmit of ag/12929664 with some APIs excluded that caused test failures; see bugs 171886397, 171888296, 171864568. APIs excluded: Landroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord; Landroid/os/Process;->myPpid()I Landroid/os/SharedMemory;->getFd()I Landroid/hardware/input/InputManager;->INJECT_INPUT_EVENT_MODE_WAIT_FOR_FINISH:I Bug: 170729553 Test: Treehugger Change-Id: I8285daa8530260251ecad6f3f38f98e263629ca7
* | Revert "Add maxTargetSdk restriction to unused APIs."Hongwei Wang2020-10-281-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit 72f07d6a8a32db4a0dedd7682a0b3385be2b9cd6. Reason for revert: Droidcop-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?testMethod=testAppZygotePreload&testClass=android.app.cts.ServiceTest&atpConfigName=suite%2Ftest-mapping-presubmit-retry_cloud-tf&testModule=CtsAppTestCases&fkbb=6936597&lkbb=6936969&lkgb=6936551&testResults=true&branch=git_master&target=cf_x86_phone-userdebug>, bug b/171886397 Bug: 171886397 Change-Id: Ibe0f0430a3451477c1ee8ef56a596e91ea1e7672
* | Add maxTargetSdk restriction to unused APIs.Mathew Inwood2020-10-271-1/+1
|/ | | | | | | | | | These are APIs that have @UnsupportedAppUsage but for which we don't have any evidence of them currently being used, so should be safe to remove from the unsupported list. Bug: 170729553 Test: Treehugger Change-Id: I4c8fd0006f950de9955242e93968fb0996ceb372
* Remove @TestApi from @SystemApi symbolsAnton Hansson2020-10-201-6/+0
| | | | | | | | | | | | | I ran these commands: cd frameworks/base grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@SystemApi[\s\n]+(\@\w+[\s\n]+)?\@TestApi/\@SystemApi\1/gs' grep -rl '@TestApi' --include '*.java' | xargs perl -i -p0e \ 's/\@TestApi[\s\n]+(\@\w+[\s\n]+)?\@SystemApi/\1\@SystemApi/gs' Bug: 171179806 Test: m checkapi Change-Id: I772790b783b0a8730b8bf680c9e569a886b8d789
* Add @Nullable annotation to the parameter of Object.equals() methods.Roman Kalukiewicz2020-10-151-1/+1
| | | | | | | | | | | | | | | | | | Those annotations could be inferred by some tools (like Kotlin), but the https://checkerframework.org/ doesn't check inherited annotations complaining about all equals() invocations that get nullable argument. The change was generated by running find . -name \*.java | xargs sed -i 's/public boolean equals(Object /public boolean equals(@Nullable Object /' in the frameworks/base directory and by automatically adding and formatting required imports if needed. No manual edits. Bug: 170883422 Test: Annotation change only. Should have not impact. Exempt-From-Owner-Approval: Mechanical change not specific to any component. Change-Id: I5eedb571c9d78862115dfdc5dae1cf2a35343580
* Expose get/set notification listeners as a @SystemAPIEugene Susla2020-10-131-2/+29
| | | | | | | | | | We need to grant/revoke notification listener privileges from PermissionController maniline module. This exposes a @SystemApi API to do so Bug: 165951651 Test: atest NotificationManagerTest Change-Id: I81502756e9c7f11ce0347f5f3c006a1539f91b37
* Support for notification panel key on ATVPhilip Junker2020-09-141-0/+68
| | | | | | | | | | | | | Add activity intents to open and toggle notification panel (requires STATUS_BAR_SERVICE permission). Add protected broadcast intent to close notification panel. Make long-press-on-home configurable to open notification panel. Create TvNotificationPanel class which forwards notification panel requests to the configured handler. Bug: 158661029 Test: manually tested on ATV device with adapted launcher Change-Id: I555bb3801ac949c8985692b41b02323c56332ccd
* [Media ML] Replace observing changes in Settings valueJin Seok Park2020-08-141-0/+10
| | | | | | | | | | | | | | | | | Currently, MediaSessionService observes the ENABLED_NOTIFICATION_LISTENERS value in Settings to be notified when a previously "enabled" NotificationListener becomes "disabled". Instead, this CL adds a new broadcast intent action that NotificationManagerService can use to notify MediaSessionService whenever the enabled value of a notification listener changes. Bug: 160762852, Bug: 147019349 Test: Go to Settings > Apps & Notifications > Special app access > Notification access and check if allowing/disallowing Notification access for any app causes onEnabledChanged to be called. Change-Id: I3aefa40083fedb78214ae884c7cccaf8de206663
* Merge "Let apps see if their conversations have been demoted"Julia Reynolds2020-07-271-0/+14
|\
| * Let apps see if their conversations have been demotedJulia Reynolds2020-07-271-0/+14
| | | | | | | | | | | | Test: cts Bug: 154140688 Change-Id: Ief3c2535f3f253e60470c63fde9325e06ceda484
* | Merge "Remove gendered language" am: 35616155b5 am: 5c018260e0 am: ↵Treehugger Robot2020-07-271-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | fc99d35ccf am: 268f3268b1 am: a106418487 Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1371586 Change-Id: Ie38483d40b3f35b07d5e2a9478ad5ed7a43a9902
| * \ Merge "Remove gendered language" am: 35616155b5 am: 5c018260e0Treehugger Robot2020-07-271-2/+2
| |\ \ | | | | | | | | | | | | | | | | | | | | Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1371586 Change-Id: I04e61237104aca879ceed99f3d24cff76fe4570b
| | * | Remove gendered languageJulia Reynolds2020-07-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | Test: atest Bug: 161908447 Change-Id: Ie331cf630b94e600326e77dfa81d01fb3f8627f6
| | * | Fix broken @see tags in public documentation.Andrew Sapperstein2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously being suppressed by doclava but with this change, all failures are fixed and the suppression logic has been removed. To fix the issues, there were a few possible changes made: - broken reference to a public API (such as incorrect parameters): fixed - unnecessary @link inside an @see tag: fixed - @see referring to an @hide or @SystemApi: reference removed - broken references to inner class constructors - worked around by fully qualifying the constructor Bug: 6963924 Test: make doc-comment-check-docs Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85 Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
| | * | Use new UnsupportedAppUsage annotation.Artur Satayev2020-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I8789f8499d4dca08580672e9e45ed9a7026dd686 Merged-In: I8789f8499d4dca08580672e9e45ed9a7026dd686
| | * | Merge "Update equals and hashCode methods of NoMan.Policy"Beverly2019-11-181-3/+3
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | am: e3d6061a67 Change-Id: I723e70a5e6c856ecd693d9b6eb8c592303fe9f11
| | | * | Update equals and hashCode methods of NoMan.PolicyBeverly2019-11-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test: atest AudioManagerTest#testPriorityOnlyChannelsCanBypassDnd Fixes: 142643922 Change-Id: I15835f784ba73b40eccf92a0a430905d28647669 Merged-In: I15835f784ba73b40eccf92a0a430905d28647669 (cherry picked from commit 4f8b0224e12037f5c41200722d689e1c8e0d8e1e)
| | * | | Allow the down volume key to silence notifsJulia Reynolds2019-07-261-0/+19
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally preserve existing behavior by passing the keypress on. Fixes: 130025623 Test: manual Change-Id: I00f83275000369c1ab03bae63eb0a4b6170c4b53 (cherry picked from commit deb2d0b743e14871b964b30ad791ac5ff0cde016)
| * | | Fix broken @see tags in public documentation.Andrew Sapperstein2020-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously being suppressed by doclava but with this change, all failures are fixed and the suppression logic has been removed. To fix the issues, there were a few possible changes made: - broken reference to a public API (such as incorrect parameters): fixed - unnecessary @link inside an @see tag: fixed - @see referring to an @hide or @SystemApi: reference removed - broken references to inner class constructors - worked around by fully qualifying the constructor Bug: 6963924 Test: make doc-comment-check-docs Exempt-From-Owner-Approval: cherry-picked from master Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85 Merged-In: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85 (cherry picked from commit e0624c7a40baae30cf77e948db5258b78856d0e5)
* | | | Add hasEnabledNotificationListener APIJin Seok Park2020-07-201-0/+20
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds a system API to NotificationManager for checking whether the NotificationListener for the current package name and user id is enabled or not. This replaces existing implementation which was using binder calls directly to NotificationManagerService. Bug: 160762852 Test: atest CtsMediaHostTestCases:\ android.media.session.cts.MediaSessionManagerHostTest\ #testGetActiveSessions_withSession2 -> MediaSessionManager#getActiveSessions verifies call by checking if the notification listener is currently enabled. Change-Id: Ic730b0abfe08c40171062421b2015be9cc05310a
* | | Fix broken @see tags in public documentation.Andrew Sapperstein2020-04-281-1/+1
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These were previously being suppressed by doclava but with this change, all failures are fixed and the suppression logic has been removed. To fix the issues, there were a few possible changes made: - broken reference to a public API (such as incorrect parameters): fixed - unnecessary @link inside an @see tag: fixed - @see referring to an @hide or @SystemApi: reference removed - broken references to inner class constructors - worked around by fully qualifying the constructor Bug: 6963924 Test: make doc-comment-check-docs Change-Id: Ifbdce2de96cdffa560bd90f549fa7184d1f9af85
* | Make bubble settings a pref with an int rather than a boolMady Mellor2020-04-091-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | This will allow us to do all/selected/none preferences for bubbles in settings. - Feature is on by default - App is none by default - Channel is off by default Test: atest NotificationManagerServiceTest BubbleExtractorTest Bug: 138116133 Change-Id: Ifad1c22525123354f76959c2d44392a25d56347d
* | Update documentationJulia Reynolds2020-03-241-1/+3
| | | | | | | | | | | | Test: make Fixes: 152262228 Change-Id: I66eca44b649e209ea7adc39e38c24d21e564fe8d
* | Give mConsolidatedPolicy a default valueBeverly2020-03-171-5/+6
| | | | | | | | | | | | | | | | | | - To align mConsolidatedPolicy with mConfig - Update documentation for NotificationManager#getConsolidatedPolicy Test: atest SystemUITests Fixes: 151077630 Change-Id: I9a769ac6907c7cf19e00ca9134183e10f9f864f5
* | Address api feedbackJulia Reynolds2020-02-231-2/+12
| | | | | | | | | | | | Test: make Fixes: 150008110 Change-Id: I5163cd49b11444e856cd9bd8ae2fd634da5f6a39
* | Framework changes to enable Notification listeners on Android Go.Rajeev Kumar2020-02-181-4/+1
| | | | | | | | | | | | | | | | Bug: 148575561 Test: atest com.android.server.notification.NotificationManagerServiceTest, atest com.android.server.notification.NotificationTest Change-Id: I1b24b2c8e9c6dd96dcd7be209bae2df7c0ed76b5
* | Separate concept of VIC from DNDJulia Reynolds2020-02-041-36/+137
| | | | | | | | | | | | | | | | | | | | | | (Very important conversations). Track VICs in a different field, and update DND (and public apis) to allow all, important, or no conversations through. Test: atest, cts Bug: 137397357 Change-Id: Iae04546eb7c0b1e79cfdbeec7311628cd7ad634a
* | Add conversation-centric inline controlsJulia Reynolds2020-01-151-1/+2
| | | | | | | | | | | | | | | | | | Round one - needs polish, and actions may be added or removed in the future, and demote isn't working yet. Bug: 137397357 Test: atest Change-Id: Ia52598bec58fc54b8bde29168cd419a24d1e4dab
* | Add support for conversation notification channelsJulia Reynolds2020-01-101-0/+19
| | | | | | | | | | | | Bug: 137397357 Test: atest, cts Change-Id: I3d8f9ec2f318ba8a16e6b82f656884cf142adf9c
* | Use new UnsupportedAppUsage annotation.Artur Satayev2019-12-181-1/+1
| | | | | | | | | | | | | | | | Existing annotations in libcore/ and frameworks/ will deleted after the migration. This also means that any java library that compiles @UnsupportedAppUsage requires a direct dependency on "unsupportedappusage" java_library. Bug: 145132366 Test: m && diff unsupportedappusage_index.csv Change-Id: I8789f8499d4dca08580672e9e45ed9a7026dd686
* | Rename writeToProto to be dumpDebugJeffrey Huang2019-12-051-1/+1
| | | | | | | | | | | | | | | | | | We want to eventually migrate some of these APIs to be @SystemApi for mainline modules. The #dumpDebug name is more appropriate than #writeToProto. Bug: 142279786 Test: Manual Change-Id: I60793e91cedf6b720d4ecef6a8484f4fed4ff30f