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 expandNotificationsPanel();
28    void collapsePanels();
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    void expandSettingsPanel();
36    void setCurrentUser(int newUserId);
37
38    // ---- Methods below are for use by the status bar policy services ----
39    // You need the STATUS_BAR_SERVICE permission
40    void registerStatusBar(IStatusBar callbacks, out StatusBarIconList iconList,
41            out List<IBinder> notificationKeys, out List<StatusBarNotification> notifications,
42            out int[] switches, out List<IBinder> binders);
43    void onPanelRevealed();
44    void onNotificationClick(String pkg, String tag, int id);
45    void onNotificationError(String pkg, String tag, int id,
46            int uid, int initialPid, String message);
47    void onClearAllNotifications();
48    void onNotificationClear(String pkg, String tag, int id);
49    void setSystemUiVisibility(int vis, int mask);
50    void setHardKeyboardEnabled(boolean enabled);
51    void toggleRecentApps();
52    void preloadRecentApps();
53    void cancelPreloadRecentApps();
54}
55