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 | ** |
| 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 |
| 8 | ** |
| 9 | ** http://www.apache.org/licenses/LICENSE-2.0 |
| 10 | ** |
| 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 |
| 15 | ** limitations under the License. |
| 16 | */ |
| 17 | |
| 18 | package android.app; |
| 19 | |
| 20 | import android.app.ITransientNotification; |
| 21 | import android.app.Notification; |
John Spurlock | 1fc476d | 2015-04-14 16:05:20 -0400 | [diff] [blame] | 22 | import android.app.NotificationManager; |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 23 | import android.content.ComponentName; |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 24 | import android.content.Intent; |
Christoph Studer | cee44ba | 2014-05-20 18:36:43 +0200 | [diff] [blame] | 25 | import android.content.pm.ParceledListSlice; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 26 | import android.net.Uri; |
John Spurlock | 2b122f4 | 2014-08-27 16:29:47 -0400 | [diff] [blame] | 27 | import android.os.Bundle; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 28 | import android.service.notification.Condition; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 29 | import android.service.notification.IConditionListener; |
John Spurlock | 7340fc8 | 2014-04-24 18:50:12 -0400 | [diff] [blame] | 30 | import android.service.notification.IConditionProvider; |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 31 | import android.service.notification.INotificationListener; |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 32 | import android.service.notification.StatusBarNotification; |
Julia Reynolds | a47a27f | 2015-08-24 08:31:47 -0400 | [diff] [blame] | 33 | import android.app.AutomaticZenRule; |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 34 | import android.service.notification.ZenModeConfig; |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 35 | |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 36 | /** {@hide} */ |
| 37 | interface INotificationManager |
| 38 | { |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 39 | void cancelAllNotifications(String pkg, int userId); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 40 | |
| 41 | void enqueueToast(String pkg, ITransientNotification callback, int duration); |
| 42 | void cancelToast(String pkg, ITransientNotification callback); |
Christoph Studer | 8fd7f1e | 2014-04-11 17:35:05 -0400 | [diff] [blame] | 43 | void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id, |
Dianne Hackborn | 4120375 | 2012-08-31 14:05:51 -0700 | [diff] [blame] | 44 | in Notification notification, inout int[] idReceived, int userId); |
| 45 | void cancelNotificationWithTag(String pkg, String tag, int id, int userId); |
Daniel Sandler | 0da673f | 2012-04-11 12:33:16 -0400 | [diff] [blame] | 46 | |
Daniel Sandler | 4a900ac | 2013-01-30 14:04:10 -0500 | [diff] [blame] | 47 | void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled); |
| 48 | boolean areNotificationsEnabledForPackage(String pkg, int uid); |
Julia Reynolds | 81afbcd | 2016-02-09 14:54:08 -0500 | [diff] [blame] | 49 | boolean areNotificationsEnabled(String pkg); |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 50 | |
Julia Reynolds | ef37f28 | 2016-02-12 09:11:27 -0500 | [diff] [blame] | 51 | void setVisibilityOverride(String pkg, int uid, int visibility); |
| 52 | int getVisibilityOverride(String pkg, int uid); |
| 53 | void setPriority(String pkg, int uid, int priority); |
| 54 | int getPriority(String pkg, int uid); |
| 55 | void setImportance(String pkg, int uid, int importance); |
| 56 | int getImportance(String pkg, int uid); |
| 57 | int getPackageImportance(String pkg); |
Chris Wren | 3ad4e3a | 2014-09-02 17:23:51 -0400 | [diff] [blame] | 58 | |
Christoph Studer | cee44ba | 2014-05-20 18:36:43 +0200 | [diff] [blame] | 59 | // TODO: Remove this when callers have been migrated to the equivalent |
| 60 | // INotificationListener method. |
Daniel Sandler | fde19b1 | 2013-01-17 00:21:05 -0500 | [diff] [blame] | 61 | StatusBarNotification[] getActiveNotifications(String callingPkg); |
Daniel Sandler | 78d0d25 | 2013-02-12 08:14:52 -0500 | [diff] [blame] | 62 | StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 63 | |
Daniel Sandler | 5feceeb | 2013-03-22 18:29:23 -0700 | [diff] [blame] | 64 | void registerListener(in INotificationListener listener, in ComponentName component, int userid); |
Daniel Sandler | 09a247e | 2013-02-14 10:24:17 -0500 | [diff] [blame] | 65 | void unregisterListener(in INotificationListener listener, int userid); |
The Android Open Source Project | 9066cfe | 2009-03-03 19:31:44 -0800 | [diff] [blame] | 66 | |
Daniel Sandler | e6f7f2e | 2013-04-25 15:44:16 -0400 | [diff] [blame] | 67 | void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id); |
John Spurlock | a429429 | 2014-03-24 18:02:32 -0400 | [diff] [blame] | 68 | void cancelNotificationsFromListener(in INotificationListener token, in String[] keys); |
Daniel Sandler | 25cf8ce | 2013-04-24 15:34:57 -0400 | [diff] [blame] | 69 | |
Chris Wren | ab41eec | 2016-01-04 18:01:27 -0500 | [diff] [blame] | 70 | void requestBindListener(in ComponentName component); |
| 71 | void requestUnbindListener(in INotificationListener token); |
| 72 | |
Amith Yamasani | f47e51e | 2015-04-17 10:02:15 -0700 | [diff] [blame] | 73 | void setNotificationsShownFromListener(in INotificationListener token, in String[] keys); |
| 74 | |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 75 | ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim); |
John Spurlock | d8afe3c | 2014-08-01 14:04:07 -0400 | [diff] [blame] | 76 | void requestHintsFromListener(in INotificationListener token, int hints); |
| 77 | int getHintsFromListener(in INotificationListener token); |
Christoph Studer | 85a384b | 2014-08-27 20:16:15 +0200 | [diff] [blame] | 78 | void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter); |
| 79 | int getInterruptionFilterFromListener(in INotificationListener token); |
Christoph Studer | b82bc78 | 2014-08-20 14:29:43 +0200 | [diff] [blame] | 80 | void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 81 | void setInterruptionFilter(String pkg, int interruptionFilter); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 82 | |
Chris Wren | 51017d0 | 2015-12-15 15:34:46 -0500 | [diff] [blame] | 83 | void setImportanceFromAssistant(in INotificationListener token, String key, int importance, CharSequence explanation); |
| 84 | |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 85 | ComponentName getEffectsSuppressor(); |
John Spurlock | 2b122f4 | 2014-08-27 16:29:47 -0400 | [diff] [blame] | 86 | boolean matchesCallFilter(in Bundle extras); |
John Spurlock | 530052a | 2014-11-30 16:26:19 -0500 | [diff] [blame] | 87 | boolean isSystemConditionProviderEnabled(String path); |
John Spurlock | b478252 | 2014-08-22 14:54:46 -0400 | [diff] [blame] | 88 | |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 89 | int getZenMode(); |
John Spurlock | 056c519 | 2014-04-20 21:52:01 -0400 | [diff] [blame] | 90 | ZenModeConfig getZenModeConfig(); |
John Spurlock | b2278d6 | 2015-04-07 12:47:12 -0400 | [diff] [blame] | 91 | oneway void setZenMode(int mode, in Uri conditionId, String reason); |
John Spurlock | e77bb36 | 2014-04-26 10:24:59 -0400 | [diff] [blame] | 92 | oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions); |
John Spurlock | 8077493 | 2015-05-07 17:38:50 -0400 | [diff] [blame] | 93 | boolean isNotificationPolicyAccessGranted(String pkg); |
| 94 | NotificationManager.Policy getNotificationPolicy(String pkg); |
| 95 | void setNotificationPolicy(String pkg, in NotificationManager.Policy policy); |
| 96 | String[] getPackagesRequestingNotificationPolicyAccess(); |
| 97 | boolean isNotificationPolicyAccessGrantedForPackage(String pkg); |
| 98 | void setNotificationPolicyAccessGranted(String pkg, boolean granted); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 99 | AutomaticZenRule getAutomaticZenRule(String id); |
Julia Reynolds | 361e82d3 | 2016-02-26 18:19:49 -0500 | [diff] [blame] | 100 | List<ZenModeConfig.ZenRule> getZenRules(); |
| 101 | String addAutomaticZenRule(in AutomaticZenRule automaticZenRule); |
| 102 | boolean updateAutomaticZenRule(String id, in AutomaticZenRule automaticZenRule); |
Julia Reynolds | 4fe98d6 | 2015-10-06 16:23:41 -0400 | [diff] [blame] | 103 | boolean removeAutomaticZenRule(String id); |
Julia Reynolds | c8e54e8 | 2015-11-30 16:43:05 -0500 | [diff] [blame] | 104 | boolean removeAutomaticZenRules(String packageName); |
Julia Reynolds | 43b70cd | 2016-01-14 15:05:34 -0500 | [diff] [blame] | 105 | int getRuleInstanceCount(in ComponentName owner); |
Christopher Tate | f9767d6 | 2015-04-08 14:35:43 -0700 | [diff] [blame] | 106 | |
| 107 | byte[] getBackupPayload(int user); |
| 108 | void applyRestore(in byte[] payload, int user); |
Dan Sandler | 994349c | 2015-04-15 11:02:54 -0400 | [diff] [blame] | 109 | |
| 110 | ParceledListSlice getAppActiveNotifications(String callingPkg, int userId); |
Dan Sandler | ea75fdd | 2014-08-12 12:29:19 -0400 | [diff] [blame] | 111 | } |