INotificationManager.aidl revision 1fa865f396e94913cfbbd32ce7799c2e8aeb7a08
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
18package android.app;
19
20import android.app.ITransientNotification;
21import android.app.Notification;
22import android.content.ComponentName;
23import android.content.Intent;
24import android.content.pm.ParceledListSlice;
25import android.net.Uri;
26import android.service.notification.Condition;
27import android.service.notification.IConditionListener;
28import android.service.notification.IConditionProvider;
29import android.service.notification.INotificationListener;
30import android.service.notification.StatusBarNotification;
31import android.service.notification.ZenModeConfig;
32
33/** {@hide} */
34interface INotificationManager
35{
36    void cancelAllNotifications(String pkg, int userId);
37
38    void enqueueToast(String pkg, ITransientNotification callback, int duration);
39    void cancelToast(String pkg, ITransientNotification callback);
40    void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id,
41            in Notification notification, inout int[] idReceived, int userId);
42    void cancelNotificationWithTag(String pkg, String tag, int id, int userId);
43
44    void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled);
45    boolean areNotificationsEnabledForPackage(String pkg, int uid);
46
47    void setPackagePriority(String pkg, int uid, int priority);
48    int getPackagePriority(String pkg, int uid);
49
50    // TODO: Remove this when callers have been migrated to the equivalent
51    // INotificationListener method.
52    StatusBarNotification[] getActiveNotifications(String callingPkg);
53    StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count);
54
55    void registerListener(in INotificationListener listener, in ComponentName component, int userid);
56    void unregisterListener(in INotificationListener listener, int userid);
57
58    void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id);
59    void cancelNotificationsFromListener(in INotificationListener token, in String[] keys);
60
61    ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token);
62    void requestFlagsFromListener(in INotificationListener token, int flags);
63    int getFlagsFromListener(in INotificationListener token);
64
65    ZenModeConfig getZenModeConfig();
66    boolean setZenModeConfig(in ZenModeConfig config);
67    oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions);
68    oneway void requestZenModeConditions(in IConditionListener callback, int relevance);
69    oneway void setZenModeCondition(in Uri conditionId);
70    oneway void setAutomaticZenModeConditions(in Uri[] conditionIds);
71    Condition[] getAutomaticZenModeConditions();
72}