19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (c) 2007, The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *     http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
167d04932ef5c001769ccef244f551b75773f1666bDianne Hackborn
170cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratopackage com.android.internal.statusbar;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
190cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.IStatusBar;
200cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.StatusBarIcon;
210cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.StatusBarIconList;
225feceebb892d4cb5777cea3c6174b206705d456bDaniel Sandlerimport android.service.notification.StatusBarNotification;
232314aab5064ce09f09270e52fa12a38d07464278Joe Onorato
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** @hide */
2525f95f92005594f2ef094001c54cb4c39eec3adeJoe Onoratointerface IStatusBarService
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
2711cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    void expandNotificationsPanel();
2811cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    void collapsePanels();
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    void disable(int what, IBinder token, String pkg);
306179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganov    void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
310cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onorato    void setIconVisibility(String slot, boolean visible);
320cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onorato    void removeIcon(String slot);
337d04932ef5c001769ccef244f551b75773f1666bDianne Hackborn    void topAppWindowChanged(boolean menuVisible);
34857fd9b8562c29913e03ed29288bd1802d37dc60Joe Onorato    void setImeWindowStatus(in IBinder token, int vis, int backDisposition);
3511cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    void expandSettingsPanel();
3613451a25fff12c1429f9ecdc24b2aa7696359f7dJohn Spurlock    void setCurrentUser(int newUserId);
372314aab5064ce09f09270e52fa12a38d07464278Joe Onorato
382314aab5064ce09f09270e52fa12a38d07464278Joe Onorato    // ---- Methods below are for use by the status bar policy services ----
398bc6c5141974dbc36a6fe416853f558921be9f24Joe Onorato    // You need the STATUS_BAR_SERVICE permission
4075199e3ddcf7886c8ee5fbf8b486a8c21335bf14Joe Onorato    void registerStatusBar(IStatusBar callbacks, out StatusBarIconList iconList,
419305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato            out List<IBinder> notificationKeys, out List<StatusBarNotification> notifications,
42cd7cd2969f545ad061a9b4ecd0044f15eb1b4abbsatok            out int[] switches, out List<IBinder> binders);
43f1f259165ffaa4095afbd50fea47ed091cbc14b3Joe Onorato    void onPanelRevealed();
44aaba60b281713d45a0f232580302c7b54a7207dfJoe Onorato    void onNotificationClick(String pkg, String tag, int id);
459d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn    void onNotificationError(String pkg, String tag, int id,
469d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn            int uid, int initialPid, String message);
47aaba60b281713d45a0f232580302c7b54a7207dfJoe Onorato    void onClearAllNotifications();
480f0b11c8719495ce559b93366fe9cd79782d791cDaniel Sandler    void onNotificationClear(String pkg, String tag, int id);
493a3a6cfd8ec12208ca75c0d0d871d19d76c34194Dianne Hackborn    void setSystemUiVisibility(int vis, int mask);
502992ea782fa61780d8e0de7a36a2a84622f8694bJeff Brown    void setHardKeyboardEnabled(boolean enabled);
513b1fc47d004f6b29af8f40d181baa3460b1e3b15Michael Jurka    void toggleRecentApps();
527f2668c8469934ce83a5647977f6e74ab782cf07Michael Jurka    void preloadRecentApps();
537f2668c8469934ce83a5647977f6e74ab782cf07Michael Jurka    void cancelPreloadRecentApps();
549764218ff979f735aee2f1189e3547d5f3b02f83John Spurlock    void setWindowState(int window, int state);
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
56