The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 1 | /* //device/java/android/android/app/INotificationManager.aidl |
| 2 | ** |
| 3 | ** Copyright 2007, The Android Open Source Project |
| 4 | ** |
Geoffrey Pitsch | e75a66e | 2016-11-22 11:12:11 -0500 | [diff] [blame] | 5 | ** Licensed under the Apache License, Version 2.0 (the "License"); |
| 6 | ** you may not use this file except in compliance with the License. |
| 7 | ** You may obtain a copy of the License at |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 8 | ** |
Geoffrey Pitsch | e75a66e | 2016-11-22 11:12:11 -0500 | [diff] [blame] | 9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 10 | ** |
Geoffrey Pitsch | e75a66e | 2016-11-22 11:12:11 -0500 | [diff] [blame] | 11 | ** Unless required by applicable law or agreed to in writing, software |
| 12 | ** distributed under the License is distributed on an "AS IS" BASIS, |
| 13 | ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 14 | ** See the License for the specific language governing permissions and |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 15 | ** limitations under the License. |
| 16 | */ |
| 17 | |
| 18 | package android.app; |
| 19 | |
| 20 | import android.app.ITransientNotification; |
| 21 | import android.app.Notification; |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 22 | import android.app.NotificationChannel; |
Geoffrey Pitsch | df44b60 | 2017-02-03 13:31:50 -0500 | [diff] [blame] | 23 | import android.app.NotificationChannelGroup; |
John Spurlock | 1fc476d | 2015-04-14 16:05:20 -0400 | [diff] [blame] | 24 | import android.app.NotificationManager; |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 25 | import android.content.ComponentName; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 26 | import android.content.Intent; |
Christoph Studer | cee44ba | 2014-05-20 18:36:43 +0200 | [diff] [blame] | 27 | import android.content.pm.ParceledListSlice; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 28 | import android.net.Uri; |
John Spurlock | 2b122f4 | 2014-08-27 16:29:47 -0400 | [diff] [blame] | 29 | import android.os.Bundle; |
Julia Reynolds | f27d6b2 | 2017-04-13 15:48:16 -0400 | [diff] [blame] | 30 | import android.os.UserHandle; |
Julia Reynolds | e46bb37 | 2016-03-17 11:05:58 -0400 | [diff] [blame] | 31 | import android.service.notification.Adjustment; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 32 | import android.service.notification.Condition; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 33 | import android.service.notification.IConditionListener; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 34 | import android.service.notification.IConditionProvider; |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 35 | import android.service.notification.INotificationListener; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 36 | import android.service.notification.StatusBarNotification; |
Julia Reynolds | a47a27f | 2015-08-24 08:31:47 -0400 | [diff] [blame] | 37 | import android.app.AutomaticZenRule; |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 38 | import android.service.notification.ZenModeConfig; |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 39 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 40 | /** {@hide} */ |
| 41 | interface INotificationManager |
| 42 | { |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 43 | void cancelAllNotifications(String pkg, int userId); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 44 | |
Julia Reynolds | 5355e85 | 2017-02-07 14:54:13 -0500 | [diff] [blame] | 45 | void clearData(String pkg, int uid, boolean fromApp); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 46 | void enqueueToast(String pkg, ITransientNotification callback, int duration); |
| 47 | void cancelToast(String pkg, ITransientNotification callback); |
Christoph Studer | 8fd7f1e | 2014-04-11 17:35:05 -0400 | [diff] [blame] | 48 | void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id, |
Julia Reynolds | fea6f7b | 2017-04-19 13:50:12 -0400 | [diff] [blame] | 49 | in Notification notification, int userId); |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 50 | void cancelNotificationWithTag(String pkg, String tag, int id, int userId); |
Daniel Sandler | 0da673f | 2012-04-11 12:33:16 -0400 | [diff] [blame] | 51 | |
Julia Reynolds | 924eed1 | 2017-01-19 09:52:07 -0500 | [diff] [blame] | 52 | void setShowBadge(String pkg, int uid, boolean showBadge); |
| 53 | boolean canShowBadge(String pkg, int uid); |
Daniel Sandler | 4a900ac | 2013-01-30 14:04:10 -0500 | [diff] [blame] | 54 | void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled); |
| 55 | boolean areNotificationsEnabledForPackage(String pkg, int uid); |
Julia Reynolds | 81afbcd | 2016-02-09 14:54:08 -0500 | [diff] [blame] | 56 | boolean areNotificationsEnabled(String pkg); |
Julia Reynolds | ef37f28 | 2016-02-12 09:11:27 -0500 | [diff] [blame] | 57 | int getPackageImportance(String pkg); |
Chris Wren | 3ad4e3a | 2014-09-02 17:23:51 -0400 | [diff] [blame] | 58 | |
Julia Reynolds | 59e152e | 2017-01-25 17:42:53 -0500 | [diff] [blame] | 59 | void createNotificationChannelGroups(String pkg, in ParceledListSlice channelGroupList); |
Geoffrey Pitsch | 0353371 | 2017-01-05 10:30:07 -0500 | [diff] [blame] | 60 | void createNotificationChannels(String pkg, in ParceledListSlice channelsList); |
Geoffrey Pitsch | 3560f84 | 2017-03-22 16:42:43 -0400 | [diff] [blame] | 61 | void createNotificationChannelsForPackage(String pkg, int uid, in ParceledListSlice channelsList); |
Julia Reynolds | 59e152e | 2017-01-25 17:42:53 -0500 | [diff] [blame] | 62 | ParceledListSlice getNotificationChannelGroupsForPackage(String pkg, int uid, boolean includeDeleted); |
Geoffrey Pitsch | df44b60 | 2017-02-03 13:31:50 -0500 | [diff] [blame] | 63 | NotificationChannelGroup getNotificationChannelGroupForPackage(String groupId, String pkg, int uid); |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 64 | void updateNotificationChannelForPackage(String pkg, int uid, in NotificationChannel channel); |
| 65 | NotificationChannel getNotificationChannel(String pkg, String channelId); |
Julia Reynolds | 4036e8d | 2017-01-13 09:50:05 -0500 | [diff] [blame] | 66 | NotificationChannel getNotificationChannelForPackage(String pkg, int uid, String channelId, boolean includeDeleted); |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 67 | void deleteNotificationChannel(String pkg, String channelId); |
| 68 | ParceledListSlice getNotificationChannels(String pkg); |
Julia Reynolds | 4036e8d | 2017-01-13 09:50:05 -0500 | [diff] [blame] | 69 | ParceledListSlice getNotificationChannelsForPackage(String pkg, int uid, boolean includeDeleted); |
Geoffrey Pitsch | df44b60 | 2017-02-03 13:31:50 -0500 | [diff] [blame] | 70 | int getNumNotificationChannelsForPackage(String pkg, int uid, boolean includeDeleted); |
Julia Reynolds | 41103f4 | 2017-03-15 11:36:35 -0400 | [diff] [blame] | 71 | int getDeletedChannelCount(String pkg, int uid); |
Julia Reynolds | 9bfba59 | 2017-03-15 14:03:55 -0400 | [diff] [blame] | 72 | void deleteNotificationChannelGroup(String pkg, String channelGroupId); |
| 73 | ParceledListSlice getNotificationChannelGroups(String pkg); |
Julia Reynolds | 17717f5 | 2017-05-09 11:46:06 -0400 | [diff] [blame] | 74 | boolean onlyHasDefaultChannel(String pkg, int uid); |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 75 | |
Christoph Studer | cee44ba | 2014-05-20 18:36:43 +0200 | [diff] [blame] | 76 | // TODO: Remove this when callers have been migrated to the equivalent |
| 77 | // INotificationListener method. |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 78 | StatusBarNotification[] getActiveNotifications(String callingPkg); |
Daniel Sandler | 78d0d25 | 2013-02-12 08:14:52 -0500 | [diff] [blame] | 79 | StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 80 | |
Chris Wren | 0efdb88 | 2016-03-01 17:17:47 -0500 | [diff] [blame] | 81 | void registerListener(in INotificationListener listener, in ComponentName component, int userid); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 82 | void unregisterListener(in INotificationListener listener, int userid); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 83 | |
Daniel Sandler | e6f7f2e | 2013-04-25 15:44:16 -0400 | [diff] [blame] | 84 | void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id); |
John Spurlock | a429429 | 2014-03-24 18:02:32 -0400 | [diff] [blame] | 85 | void cancelNotificationsFromListener(in INotificationListener token, in String[] keys); |
Daniel Sandler | 25cf8ce | 2013-04-24 15:34:57 -0400 | [diff] [blame] | 86 | |
Julia Reynolds | 7967230 | 2017-01-12 08:30:16 -0500 | [diff] [blame] | 87 | void snoozeNotificationUntilContextFromListener(in INotificationListener token, String key, String snoozeCriterionId); |
Julia Reynolds | b6c1f99 | 2016-11-22 09:26:46 -0500 | [diff] [blame] | 88 | void snoozeNotificationUntilFromListener(in INotificationListener token, String key, long until); |
Julia Reynolds | 72f1cbb | 2016-09-19 14:57:31 -0400 | [diff] [blame] | 89 | |
Chris Wren | ab41eec | 2016-01-04 18:01:27 -0500 | [diff] [blame] | 90 | void requestBindListener(in ComponentName component); |
| 91 | void requestUnbindListener(in INotificationListener token); |
Julia Reynolds | 38e6ca4 | 2016-08-08 08:38:09 -0400 | [diff] [blame] | 92 | void requestBindProvider(in ComponentName component); |
| 93 | void requestUnbindProvider(in IConditionProvider token); |
Chris Wren | ab41eec | 2016-01-04 18:01:27 -0500 | [diff] [blame] | 94 | |
Amith Yamasani | f47e51e | 2015-04-17 10:02:15 -0700 | [diff] [blame] | 95 | void setNotificationsShownFromListener(in INotificationListener token, in String[] keys); |
| 96 | |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 97 | ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim); |
Julia Reynolds | cf63ff1 | 2017-01-24 13:55:48 -0500 | [diff] [blame] | 98 | ParceledListSlice getSnoozedNotificationsFromListener(in INotificationListener token, int trim); |
John Spurlock | d8afe3c | 2014-08-01 14:04:07 -0400 | [diff] [blame] | 99 | void requestHintsFromListener(in INotificationListener token, int hints); |
| 100 | int getHintsFromListener(in INotificationListener token); |
Christoph Studer | 85a384b | 2014-08-27 20:16:15 +0200 | [diff] [blame] | 101 | void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter); |
| 102 | int getInterruptionFilterFromListener(in INotificationListener token); |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 103 | void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 104 | void setInterruptionFilter(String pkg, int interruptionFilter); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 105 | |
Julia Reynolds | f27d6b2 | 2017-04-13 15:48:16 -0400 | [diff] [blame] | 106 | void updateNotificationChannelFromPrivilegedListener(in INotificationListener token, String pkg, in UserHandle user, in NotificationChannel channel); |
| 107 | ParceledListSlice getNotificationChannelsFromPrivilegedListener(in INotificationListener token, String pkg, in UserHandle user); |
| 108 | ParceledListSlice getNotificationChannelGroupsFromPrivilegedListener(in INotificationListener token, String pkg, in UserHandle user); |
Julia Reynolds | 73ed76b | 2017-04-04 17:04:38 -0400 | [diff] [blame] | 109 | |
Julia Reynolds | 4b82f6d | 2017-01-04 10:47:41 -0500 | [diff] [blame] | 110 | void applyEnqueuedAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); |
Julia Reynolds | 52e64d0 | 2016-12-09 15:36:12 -0500 | [diff] [blame] | 111 | void applyAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); |
| 112 | void applyAdjustmentsFromAssistant(in INotificationListener token, in List<Adjustment> adjustments); |
Julia Reynolds | cf63ff1 | 2017-01-24 13:55:48 -0500 | [diff] [blame] | 113 | void unsnoozeNotificationFromAssistant(in INotificationListener token, String key); |
Chris Wren | 51017d0 | 2015-12-15 15:34:46 -0500 | [diff] [blame] | 114 | |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 115 | ComponentName getEffectsSuppressor(); |
John Spurlock | 2b122f4 | 2014-08-27 16:29:47 -0400 | [diff] [blame] | 116 | boolean matchesCallFilter(in Bundle extras); |
John Spurlock | 530052a | 2014-11-30 16:26:19 -0500 | [diff] [blame] | 117 | boolean isSystemConditionProviderEnabled(String path); |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 118 | |
Julia Reynolds | b852e56 | 2017-06-06 16:14:18 -0400 | [diff] [blame] | 119 | boolean isNotificationListenerAccessGranted(in ComponentName listener); |
| 120 | boolean isNotificationListenerAccessGrantedForUser(in ComponentName listener, int userId); |
| 121 | boolean isNotificationAssistantAccessGranted(in ComponentName assistant); |
| 122 | void setNotificationListenerAccessGranted(in ComponentName listener, boolean enabled); |
| 123 | void setNotificationAssistantAccessGranted(in ComponentName assistant, boolean enabled); |
| 124 | void setNotificationListenerAccessGrantedForUser(in ComponentName listener, int userId, boolean enabled); |
| 125 | void setNotificationAssistantAccessGrantedForUser(in ComponentName assistant, int userId, boolean enabled); |
| 126 | List<String> getEnabledNotificationListenerPackages(); |
| 127 | List<ComponentName> getEnabledNotificationListeners(int userId); |
| 128 | |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 129 | int getZenMode(); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 130 | ZenModeConfig getZenModeConfig(); |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 131 | oneway void setZenMode(int mode, in Uri conditionId, String reason); |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 132 | oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 133 | boolean isNotificationPolicyAccessGranted(String pkg); |
| 134 | NotificationManager.Policy getNotificationPolicy(String pkg); |
| 135 | void setNotificationPolicy(String pkg, in NotificationManager.Policy policy); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 136 | boolean isNotificationPolicyAccessGrantedForPackage(String pkg); |
| 137 | void setNotificationPolicyAccessGranted(String pkg, boolean granted); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 138 | AutomaticZenRule getAutomaticZenRule(String id); |
Julia Reynolds | 361e82d3 | 2016-02-26 18:19:49 -0500 | [diff] [blame] | 139 | List<ZenModeConfig.ZenRule> getZenRules(); |
| 140 | String addAutomaticZenRule(in AutomaticZenRule automaticZenRule); |
| 141 | boolean updateAutomaticZenRule(String id, in AutomaticZenRule automaticZenRule); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 142 | boolean removeAutomaticZenRule(String id); |
Julia Reynolds | c8e54e8 | 2015-11-30 16:43:05 -0500 | [diff] [blame] | 143 | boolean removeAutomaticZenRules(String packageName); |
Julia Reynolds | 43b70cd | 2016-01-14 15:05:34 -0500 | [diff] [blame] | 144 | int getRuleInstanceCount(in ComponentName owner); |
Christopher Tate | f9767d6 | 2015-04-08 14:35:43 -0700 | [diff] [blame] | 145 | |
| 146 | byte[] getBackupPayload(int user); |
| 147 | void applyRestore(in byte[] payload, int user); |
Dan Sandler | 994349c | 2015-04-15 11:02:54 -0400 | [diff] [blame] | 148 | |
| 149 | ParceledListSlice getAppActiveNotifications(String callingPkg, int userId); |
Dan Sandler | ea75fdd | 2014-08-12 12:29:19 -0400 | [diff] [blame] | 150 | } |