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.content.ComponentName;
     23 import android.content.Intent;
     24 import android.content.pm.ParceledListSlice;
     25 import android.net.Uri;
     26 import android.os.Bundle;
     27 import android.service.notification.Condition;
     28 import android.service.notification.IConditionListener;
     29 import android.service.notification.IConditionProvider;
     30 import android.service.notification.INotificationListener;
     31 import android.service.notification.StatusBarNotification;
     32 import android.service.notification.ZenModeConfig;
     33 
     34 /** {@hide} */
     35 interface INotificationManager
     36 {
     37     void cancelAllNotifications(String pkg, int userId);
     38 
     39     void enqueueToast(String pkg, ITransientNotification callback, int duration);
     40     void cancelToast(String pkg, ITransientNotification callback);
     41     void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id,
     42             in Notification notification, inout int[] idReceived, int userId);
     43     void cancelNotificationWithTag(String pkg, String tag, int id, int userId);
     44 
     45     void setNotificationsEnabledForPackage(String pkg, int uid, boolean enabled);
     46     boolean areNotificationsEnabledForPackage(String pkg, int uid);
     47 
     48     void setPackagePriority(String pkg, int uid, int priority);
     49     int getPackagePriority(String pkg, int uid);
     50 
     51     void setPackageVisibilityOverride(String pkg, int uid, int visibility);
     52     int getPackageVisibilityOverride(String pkg, int uid);
     53 
     54     // TODO: Remove this when callers have been migrated to the equivalent
     55     // INotificationListener method.
     56     StatusBarNotification[] getActiveNotifications(String callingPkg);
     57     StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count);
     58 
     59     void registerListener(in INotificationListener listener, in ComponentName component, int userid);
     60     void unregisterListener(in INotificationListener listener, int userid);
     61 
     62     void cancelNotificationFromListener(in INotificationListener token, String pkg, String tag, int id);
     63     void cancelNotificationsFromListener(in INotificationListener token, in String[] keys);
     64 
     65     ParceledListSlice getActiveNotificationsFromListener(in INotificationListener token, in String[] keys, int trim);
     66     void requestHintsFromListener(in INotificationListener token, int hints);
     67     int getHintsFromListener(in INotificationListener token);
     68     void requestInterruptionFilterFromListener(in INotificationListener token, int interruptionFilter);
     69     int getInterruptionFilterFromListener(in INotificationListener token);
     70     void setOnNotificationPostedTrimFromListener(in INotificationListener token, int trim);
     71 
     72     ComponentName getEffectsSuppressor();
     73     boolean matchesCallFilter(in Bundle extras);
     74     boolean isSystemConditionProviderEnabled(String path);
     75 
     76     ZenModeConfig getZenModeConfig();
     77     boolean setZenModeConfig(in ZenModeConfig config);
     78     oneway void notifyConditions(String pkg, in IConditionProvider provider, in Condition[] conditions);
     79     oneway void requestZenModeConditions(in IConditionListener callback, int relevance);
     80     oneway void setZenModeCondition(in Condition condition);
     81     oneway void setAutomaticZenModeConditions(in Uri[] conditionIds);
     82     Condition[] getAutomaticZenModeConditions();
     83 }
     84