1/**
2 * Copyright (c) 2007, The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.internal.statusbar;
18
19import com.android.internal.statusbar.IStatusBar;
20import com.android.internal.statusbar.StatusBarIcon;
21import com.android.internal.statusbar.StatusBarIconList;
22import com.android.internal.statusbar.StatusBarNotification;
23
24/** @hide */
25interface IStatusBarService
26{
27    void expand();
28    void collapse();
29    void disable(int what, IBinder token, String pkg);
30    void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
31    void setIconVisibility(String slot, boolean visible);
32    void removeIcon(String slot);
33    void topAppWindowChanged(boolean menuVisible);
34    void setImeWindowStatus(in IBinder token, int vis, int backDisposition);
35
36    // ---- Methods below are for use by the status bar policy services ----
37    // You need the STATUS_BAR_SERVICE permission
38    void registerStatusBar(IStatusBar callbacks, out StatusBarIconList iconList,
39            out List<IBinder> notificationKeys, out List<StatusBarNotification> notifications,
40            out int[] switches, out List<IBinder> binders);
41    void onPanelRevealed();
42    void onNotificationClick(String pkg, String tag, int id);
43    void onNotificationError(String pkg, String tag, int id,
44            int uid, int initialPid, String message);
45    void onClearAllNotifications();
46    void onNotificationClear(String pkg, String tag, int id);
47    void setSystemUiVisibility(int vis);
48    void setHardKeyboardEnabled(boolean enabled);
49    void toggleRecentApps();
50}
51