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 | |
Geoffrey Pitsch | e75a66e | 2016-11-22 11:12:11 -0500 | [diff] [blame] | 20 | import android.app.IOnNotificationChannelCreatedListener; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 21 | import android.app.ITransientNotification; |
| 22 | import android.app.Notification; |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 23 | import android.app.NotificationChannel; |
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 | e46bb37 | 2016-03-17 11:05:58 -0400 | [diff] [blame] | 30 | import android.service.notification.Adjustment; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 31 | import android.service.notification.Condition; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 32 | import android.service.notification.IConditionListener; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 33 | import android.service.notification.IConditionProvider; |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 34 | import android.service.notification.INotificationListener; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 35 | import android.service.notification.StatusBarNotification; |
Julia Reynolds | a47a27f | 2015-08-24 08:31:47 -0400 | [diff] [blame] | 36 | import android.app.AutomaticZenRule; |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 37 | import android.service.notification.ZenModeConfig; |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 38 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 39 | /** {@hide} */ |
| 40 | interface INotificationManager |
| 41 | { |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 42 | void cancelAllNotifications(String pkg, int userId); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 43 | |
| 44 | void enqueueToast(String pkg, ITransientNotification callback, int duration); |
| 45 | void cancelToast(String pkg, ITransientNotification callback); |
Christoph Studer | 8fd7f1e | 2014-04-11 17:35:05 -0400 | [diff] [blame] | 46 | void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id, |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 47 | in Notification notification, inout int[] idReceived, int userId); |
| 48 | void cancelNotificationWithTag(String pkg, String tag, int id, int userId); |
Daniel Sandler | 0da673f | 2012-04-11 12:33:16 -0400 | [diff] [blame] | 49 | |
Daniel Sandler | 4a900ac | 2013-01-30 14:04:10 -0500 | [diff] [blame] | 50 | void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled); |
| 51 | boolean areNotificationsEnabledForPackage(String pkg, int uid); |
Julia Reynolds | 81afbcd | 2016-02-09 14:54:08 -0500 | [diff] [blame] | 52 | boolean areNotificationsEnabled(String pkg); |
Julia Reynolds | ef37f28 | 2016-02-12 09:11:27 -0500 | [diff] [blame] | 53 | int getPackageImportance(String pkg); |
Chris Wren | 3ad4e3a | 2014-09-02 17:23:51 -0400 | [diff] [blame] | 54 | |
Geoffrey Pitsch | e75a66e | 2016-11-22 11:12:11 -0500 | [diff] [blame] | 55 | void createNotificationChannel(String pkg, in NotificationChannel channel, |
| 56 | in IOnNotificationChannelCreatedListener listener); |
Julia Reynolds | b5e44b7 | 2016-08-16 15:00:25 -0400 | [diff] [blame] | 57 | void updateNotificationChannelForPackage(String pkg, int uid, in NotificationChannel channel); |
| 58 | NotificationChannel getNotificationChannel(String pkg, String channelId); |
| 59 | NotificationChannel getNotificationChannelForPackage(String pkg, int uid, String channelId); |
| 60 | void deleteNotificationChannel(String pkg, String channelId); |
| 61 | ParceledListSlice getNotificationChannels(String pkg); |
| 62 | ParceledListSlice getNotificationChannelsForPackage(String pkg, int uid); |
| 63 | |
Christoph Studer | cee44ba | 2014-05-20 18:36:43 +0200 | [diff] [blame] | 64 | // TODO: Remove this when callers have been migrated to the equivalent |
| 65 | // INotificationListener method. |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 66 | StatusBarNotification[] getActiveNotifications(String callingPkg); |
Daniel Sandler | 78d0d25 | 2013-02-12 08:14:52 -0500 | [diff] [blame] | 67 | StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 68 | |
Chris Wren | 0efdb88 | 2016-03-01 17:17:47 -0500 | [diff] [blame] | 69 | void registerListener(in INotificationListener listener, in ComponentName component, int userid); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 70 | void unregisterListener(in INotificationListener listener, int userid); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 71 | |
Daniel Sandler | e6f7f2e | 2013-04-25 15:44:16 -0400 | [diff] [blame] | 72 | void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id); |
John Spurlock | a429429 | 2014-03-24 18:02:32 -0400 | [diff] [blame] | 73 | void cancelNotificationsFromListener(in INotificationListener token, in String[] keys); |
Daniel Sandler | 25cf8ce | 2013-04-24 15:34:57 -0400 | [diff] [blame] | 74 | |
Julia Reynolds | b6c1f99 | 2016-11-22 09:26:46 -0500 | [diff] [blame] | 75 | |
| 76 | void snoozeNotificationUntilFromListener(in INotificationListener token, String key, long until); |
| 77 | void snoozeNotificationFromListener(in INotificationListener token, String key); |
| 78 | void unsnoozeNotificationFromListener(in INotificationListener token, String key); |
Julia Reynolds | 72f1cbb | 2016-09-19 14:57:31 -0400 | [diff] [blame] | 79 | |
Chris Wren | ab41eec | 2016-01-04 18:01:27 -0500 | [diff] [blame] | 80 | void requestBindListener(in ComponentName component); |
| 81 | void requestUnbindListener(in INotificationListener token); |
Julia Reynolds | 38e6ca4 | 2016-08-08 08:38:09 -0400 | [diff] [blame] | 82 | void requestBindProvider(in ComponentName component); |
| 83 | void requestUnbindProvider(in IConditionProvider token); |
Chris Wren | ab41eec | 2016-01-04 18:01:27 -0500 | [diff] [blame] | 84 | |
Amith Yamasani | f47e51e | 2015-04-17 10:02:15 -0700 | [diff] [blame] | 85 | void setNotificationsShownFromListener(in INotificationListener token, in String[] keys); |
| 86 | |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 87 | ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim); |
John Spurlock | d8afe3c | 2014-08-01 14:04:07 -0400 | [diff] [blame] | 88 | void requestHintsFromListener(in INotificationListener token, int hints); |
| 89 | int getHintsFromListener(in INotificationListener token); |
Christoph Studer | 85a384b | 2014-08-27 20:16:15 +0200 | [diff] [blame] | 90 | void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter); |
| 91 | int getInterruptionFilterFromListener(in INotificationListener token); |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 92 | void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 93 | void setInterruptionFilter(String pkg, int interruptionFilter); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 94 | |
Julia Reynolds | 4b82f6d | 2017-01-04 10:47:41 -0500 | [diff] [blame^] | 95 | void applyEnqueuedAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); |
Julia Reynolds | 52e64d0 | 2016-12-09 15:36:12 -0500 | [diff] [blame] | 96 | void applyAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); |
| 97 | void applyAdjustmentsFromAssistant(in INotificationListener token, in List<Adjustment> adjustments); |
| 98 | void createNotificationChannelFromAssistant(in INotificationListener token, String pkg, in NotificationChannel channel); |
| 99 | void updateNotificationChannelFromAssistant(in INotificationListener token, String pkg, in NotificationChannel channel); |
| 100 | void deleteNotificationChannelFromAssistant(in INotificationListener token, String pkg, String channelId); |
| 101 | ParceledListSlice getNotificationChannelsFromAssistant(in INotificationListener token, String pkg); |
Chris Wren | 51017d0 | 2015-12-15 15:34:46 -0500 | [diff] [blame] | 102 | |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 103 | ComponentName getEffectsSuppressor(); |
John Spurlock | 2b122f4 | 2014-08-27 16:29:47 -0400 | [diff] [blame] | 104 | boolean matchesCallFilter(in Bundle extras); |
John Spurlock | 530052a | 2014-11-30 16:26:19 -0500 | [diff] [blame] | 105 | boolean isSystemConditionProviderEnabled(String path); |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 106 | |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 107 | int getZenMode(); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 108 | ZenModeConfig getZenModeConfig(); |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 109 | oneway void setZenMode(int mode, in Uri conditionId, String reason); |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 110 | oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 111 | boolean isNotificationPolicyAccessGranted(String pkg); |
| 112 | NotificationManager.Policy getNotificationPolicy(String pkg); |
| 113 | void setNotificationPolicy(String pkg, in NotificationManager.Policy policy); |
| 114 | String[] getPackagesRequestingNotificationPolicyAccess(); |
| 115 | boolean isNotificationPolicyAccessGrantedForPackage(String pkg); |
| 116 | void setNotificationPolicyAccessGranted(String pkg, boolean granted); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 117 | AutomaticZenRule getAutomaticZenRule(String id); |
Julia Reynolds | 361e82d3 | 2016-02-26 18:19:49 -0500 | [diff] [blame] | 118 | List<ZenModeConfig.ZenRule> getZenRules(); |
| 119 | String addAutomaticZenRule(in AutomaticZenRule automaticZenRule); |
| 120 | boolean updateAutomaticZenRule(String id, in AutomaticZenRule automaticZenRule); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 121 | boolean removeAutomaticZenRule(String id); |
Julia Reynolds | c8e54e8 | 2015-11-30 16:43:05 -0500 | [diff] [blame] | 122 | boolean removeAutomaticZenRules(String packageName); |
Julia Reynolds | 43b70cd | 2016-01-14 15:05:34 -0500 | [diff] [blame] | 123 | int getRuleInstanceCount(in ComponentName owner); |
Christopher Tate | f9767d6 | 2015-04-08 14:35:43 -0700 | [diff] [blame] | 124 | |
| 125 | byte[] getBackupPayload(int user); |
| 126 | void applyRestore(in byte[] payload, int user); |
Dan Sandler | 994349c | 2015-04-15 11:02:54 -0400 | [diff] [blame] | 127 | |
| 128 | ParceledListSlice getAppActiveNotifications(String callingPkg, int userId); |
Dan Sandler | ea75fdd | 2014-08-12 12:29:19 -0400 | [diff] [blame] | 129 | } |