Home | History | Annotate | Download | only in app
      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