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; 22 import android.app.NotificationChannel; 23 import android.app.NotificationChannelGroup; 24 import android.app.NotificationManager; 25 import android.content.ComponentName; 26 import android.content.Intent; 27 import android.content.pm.ParceledListSlice; 28 import android.net.Uri; 29 import android.os.Bundle; 30 import android.os.UserHandle; 31 import android.service.notification.Adjustment; 32 import android.service.notification.Condition; 33 import android.service.notification.IConditionListener; 34 import android.service.notification.IConditionProvider; 35 import android.service.notification.INotificationListener; 36 import android.service.notification.StatusBarNotification; 37 import android.app.AutomaticZenRule; 38 import android.service.notification.ZenModeConfig; 39 40 /** {@hide} */ 41 interface INotificationManager 42 { 43 void cancelAllNotifications(String pkg, int userId); 44 45 void clearData(String pkg, int uid, boolean fromApp); 46 void enqueueToast(String pkg, ITransientNotification callback, int duration); 47 void cancelToast(String pkg, ITransientNotification callback); 48 void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id, 49 in Notification notification, int userId); 50 void cancelNotificationWithTag(String pkg, String tag, int id, int userId); 51 52 void setShowBadge(String pkg, int uid, boolean showBadge); 53 boolean canShowBadge(String pkg, int uid); 54 void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled); 55 boolean areNotificationsEnabledForPackage(String pkg, int uid); 56 boolean areNotificationsEnabled(String pkg); 57 int getPackageImportance(String pkg); 58 59 void createNotificationChannelGroups(String pkg, in ParceledListSlice channelGroupList); 60 void createNotificationChannels(String pkg, in ParceledListSlice channelsList); 61 void createNotificationChannelsForPackage(String pkg, int uid, in ParceledListSlice channelsList); 62 ParceledListSlice getNotificationChannelGroupsForPackage(String pkg, int uid, boolean includeDeleted); 63 NotificationChannelGroup getNotificationChannelGroupForPackage(String groupId, String pkg, int uid); 64 void updateNotificationChannelForPackage(String pkg, int uid, in NotificationChannel channel); 65 NotificationChannel getNotificationChannel(String pkg, String channelId); 66 NotificationChannel getNotificationChannelForPackage(String pkg, int uid, String channelId, boolean includeDeleted); 67 void deleteNotificationChannel(String pkg, String channelId); 68 ParceledListSlice getNotificationChannels(String pkg); 69 ParceledListSlice getNotificationChannelsForPackage(String pkg, int uid, boolean includeDeleted); 70 int getNumNotificationChannelsForPackage(String pkg, int uid, boolean includeDeleted); 71 int getDeletedChannelCount(String pkg, int uid); 72 void deleteNotificationChannelGroup(String pkg, String channelGroupId); 73 ParceledListSlice getNotificationChannelGroups(String pkg); 74 boolean onlyHasDefaultChannel(String pkg, int uid); 75 76 // TODO: Remove this when callers have been migrated to the equivalent 77 // INotificationListener method. 78 StatusBarNotification[] getActiveNotifications(String callingPkg); 79 StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count); 80 81 void registerListener(in INotificationListener listener, in ComponentName component, int userid); 82 void unregisterListener(in INotificationListener listener, int userid); 83 84 void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id); 85 void cancelNotificationsFromListener(in INotificationListener token, in String[] keys); 86 87 void snoozeNotificationUntilContextFromListener(in INotificationListener token, String key, String snoozeCriterionId); 88 void snoozeNotificationUntilFromListener(in INotificationListener token, String key, long until); 89 90 void requestBindListener(in ComponentName component); 91 void requestUnbindListener(in INotificationListener token); 92 void requestBindProvider(in ComponentName component); 93 void requestUnbindProvider(in IConditionProvider token); 94 95 void setNotificationsShownFromListener(in INotificationListener token, in String[] keys); 96 97 ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim); 98 ParceledListSlice getSnoozedNotificationsFromListener(in INotificationListener token, int trim); 99 void requestHintsFromListener(in INotificationListener token, int hints); 100 int getHintsFromListener(in INotificationListener token); 101 void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter); 102 int getInterruptionFilterFromListener(in INotificationListener token); 103 void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim); 104 void setInterruptionFilter(String pkg, int interruptionFilter); 105 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); 109 110 void applyEnqueuedAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); 111 void applyAdjustmentFromAssistant(in INotificationListener token, in Adjustment adjustment); 112 void applyAdjustmentsFromAssistant(in INotificationListener token, in List<Adjustment> adjustments); 113 void unsnoozeNotificationFromAssistant(in INotificationListener token, String key); 114 115 ComponentName getEffectsSuppressor(); 116 boolean matchesCallFilter(in Bundle extras); 117 boolean isSystemConditionProviderEnabled(String path); 118 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 129 int getZenMode(); 130 ZenModeConfig getZenModeConfig(); 131 oneway void setZenMode(int mode, in Uri conditionId, String reason); 132 oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions); 133 boolean isNotificationPolicyAccessGranted(String pkg); 134 NotificationManager.Policy getNotificationPolicy(String pkg); 135 void setNotificationPolicy(String pkg, in NotificationManager.Policy policy); 136 boolean isNotificationPolicyAccessGrantedForPackage(String pkg); 137 void setNotificationPolicyAccessGranted(String pkg, boolean granted); 138 void setNotificationPolicyAccessGrantedForUser(String pkg, int userId, boolean granted); 139 AutomaticZenRule getAutomaticZenRule(String id); 140 List<ZenModeConfig.ZenRule> getZenRules(); 141 String addAutomaticZenRule(in AutomaticZenRule automaticZenRule); 142 boolean updateAutomaticZenRule(String id, in AutomaticZenRule automaticZenRule); 143 boolean removeAutomaticZenRule(String id); 144 boolean removeAutomaticZenRules(String packageName); 145 int getRuleInstanceCount(in ComponentName owner); 146 147 byte[] getBackupPayload(int user); 148 void applyRestore(in byte[] payload, int user); 149 150 ParceledListSlice getAppActiveNotifications(String callingPkg, int userId); 151 } 152