blob: e275df045b98892f94ff0f7eb6865e4fb07364f6 [file] [log] [blame]
The Android Open Source Project9066cfe2009-03-03 19:31:44 -08001/* //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
18package android.app;
19
John Spurlock1fc476d2015-04-14 16:05:20 -040020import android.app.INotificationManagerCallback;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080021import android.app.ITransientNotification;
22import android.app.Notification;
John Spurlock1fc476d2015-04-14 16:05:20 -040023import android.app.NotificationManager;
Daniel Sandler5feceeb2013-03-22 18:29:23 -070024import android.content.ComponentName;
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080025import android.content.Intent;
Christoph Studercee44ba2014-05-20 18:36:43 +020026import android.content.pm.ParceledListSlice;
John Spurlocke77bb362014-04-26 10:24:59 -040027import android.net.Uri;
John Spurlock2b122f42014-08-27 16:29:47 -040028import android.os.Bundle;
John Spurlock7340fc82014-04-24 18:50:12 -040029import android.service.notification.Condition;
John Spurlocke77bb362014-04-26 10:24:59 -040030import android.service.notification.IConditionListener;
John Spurlock7340fc82014-04-24 18:50:12 -040031import android.service.notification.IConditionProvider;
Daniel Sandler5feceeb2013-03-22 18:29:23 -070032import android.service.notification.INotificationListener;
John Spurlocke77bb362014-04-26 10:24:59 -040033import android.service.notification.StatusBarNotification;
John Spurlock056c5192014-04-20 21:52:01 -040034import android.service.notification.ZenModeConfig;
Daniel Sandlerfde19b12013-01-17 00:21:05 -050035
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080036/** {@hide} */
37interface INotificationManager
38{
Dianne Hackborn41203752012-08-31 14:05:51 -070039 void cancelAllNotifications(String pkg, int userId);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080040
41 void enqueueToast(String pkg, ITransientNotification callback, int duration);
42 void cancelToast(String pkg, ITransientNotification callback);
Christoph Studer8fd7f1e2014-04-11 17:35:05 -040043 void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id,
Dianne Hackborn41203752012-08-31 14:05:51 -070044 in Notification notification, inout int[] idReceived, int userId);
45 void cancelNotificationWithTag(String pkg, String tag, int id, int userId);
Daniel Sandler0da673f2012-04-11 12:33:16 -040046
Daniel Sandler4a900ac2013-01-30 14:04:10 -050047 void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled);
48 boolean areNotificationsEnabledForPackage(String pkg, int uid);
Daniel Sandlerfde19b12013-01-17 00:21:05 -050049
Chris Wren54bbef42014-07-09 18:37:56 -040050 void setPackagePriority(String pkg, int uid, int priority);
51 int getPackagePriority(String pkg, int uid);
52
John Spurlock1d881a12015-03-18 19:21:54 -040053 void setPackagePeekable(String pkg, int uid, boolean peekable);
54 boolean getPackagePeekable(String pkg, int uid);
55
Chris Wren3ad4e3a2014-09-02 17:23:51 -040056 void setPackageVisibilityOverride(String pkg, int uid, int visibility);
57 int getPackageVisibilityOverride(String pkg, int uid);
58
Christoph Studercee44ba2014-05-20 18:36:43 +020059 // TODO: Remove this when callers have been migrated to the equivalent
60 // INotificationListener method.
Daniel Sandlerfde19b12013-01-17 00:21:05 -050061 StatusBarNotification[] getActiveNotifications(String callingPkg);
Daniel Sandler78d0d252013-02-12 08:14:52 -050062 StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count);
Daniel Sandler09a247e2013-02-14 10:24:17 -050063
Daniel Sandler5feceeb2013-03-22 18:29:23 -070064 void registerListener(in INotificationListener listener, in ComponentName component, int userid);
Daniel Sandler09a247e2013-02-14 10:24:17 -050065 void unregisterListener(in INotificationListener listener, int userid);
The Android Open Source Project9066cfe2009-03-03 19:31:44 -080066
Daniel Sandlere6f7f2e2013-04-25 15:44:16 -040067 void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id);
John Spurlocka4294292014-03-24 18:02:32 -040068 void cancelNotificationsFromListener(in INotificationListener token, in String[] keys);
Daniel Sandler25cf8ce2013-04-24 15:34:57 -040069
Christoph Studerb82bc782014-08-20 14:29:43 +020070 ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim);
John Spurlockd8afe3c2014-08-01 14:04:07 -040071 void requestHintsFromListener(in INotificationListener token, int hints);
72 int getHintsFromListener(in INotificationListener token);
Christoph Studer85a384b2014-08-27 20:16:15 +020073 void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter);
74 int getInterruptionFilterFromListener(in INotificationListener token);
Christoph Studerb82bc782014-08-20 14:29:43 +020075 void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim);
John Spurlock1fc476d2015-04-14 16:05:20 -040076 NotificationManager.Policy.Token getPolicyTokenFromListener(in INotificationListener listener);
John Spurlock056c5192014-04-20 21:52:01 -040077
John Spurlockb4782522014-08-22 14:54:46 -040078 ComponentName getEffectsSuppressor();
John Spurlock2b122f42014-08-27 16:29:47 -040079 boolean matchesCallFilter(in Bundle extras);
John Spurlock530052a2014-11-30 16:26:19 -050080 boolean isSystemConditionProviderEnabled(String path);
John Spurlockb4782522014-08-22 14:54:46 -040081
John Spurlockb2278d62015-04-07 12:47:12 -040082 int getZenMode();
John Spurlock056c5192014-04-20 21:52:01 -040083 ZenModeConfig getZenModeConfig();
John Spurlockb2278d62015-04-07 12:47:12 -040084 boolean setZenModeConfig(in ZenModeConfig config, String reason);
85 oneway void setZenMode(int mode, in Uri conditionId, String reason);
John Spurlocke77bb362014-04-26 10:24:59 -040086 oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions);
John Spurlock3b98b3f2014-05-01 09:08:48 -040087 oneway void requestZenModeConditions(in IConditionListener callback, int relevance);
John Spurlock1fc476d2015-04-14 16:05:20 -040088 oneway void requestNotificationPolicyToken(String pkg, in INotificationManagerCallback callback);
89 boolean isNotificationPolicyTokenValid(String pkg, in NotificationManager.Policy.Token token);
90 NotificationManager.Policy getNotificationPolicy(in NotificationManager.Policy.Token token);
91 void setNotificationPolicy(in NotificationManager.Policy.Token token, in NotificationManager.Policy policy);
Christopher Tatef9767d62015-04-08 14:35:43 -070092
93 byte[] getBackupPayload(int user);
94 void applyRestore(in byte[] payload, int user);
Dan Sandler994349c2015-04-15 11:02:54 -040095
96 ParceledListSlice getAppActiveNotifications(String callingPkg, int userId);
Dan Sandlerea75fdd2014-08-12 12:29:19 -040097}