[go: nahoru, domu]

19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/**
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (c) 2007, The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
424bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * Licensed under the Apache License, Version 2.0 (the "License");
524bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * you may not use this file except in compliance with the License.
624bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
824bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi *     http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
1024bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * Unless required by applicable law or agreed to in writing, software
1124bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * distributed under the License is distributed on an "AS IS" BASIS,
1224bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1324bec7ce7adc3c0d693cfadcb4b28f5fc41555aeJorim Jaggi * 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
197e53f20c835ae2614c92717a6fc222b345c75036Jason Monkimport android.content.ComponentName;
2086905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggiimport android.graphics.Rect;
21165ce066b701ba0153000f0692bfc7032655d17dJorim Jaggiimport android.os.Bundle;
22165ce066b701ba0153000f0692bfc7032655d17dJorim Jaggiimport android.service.notification.StatusBarNotification;
23165ce066b701ba0153000f0692bfc7032655d17dJorim Jaggi
240cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.IStatusBar;
250cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.StatusBarIcon;
260cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onoratoimport com.android.internal.statusbar.StatusBarIconList;
27d1dbc92d67af4cb72bb2faff9011d36b6833bbfdChris Wrenimport com.android.internal.statusbar.NotificationVisibility;
282314aab5064ce09f09270e52fa12a38d07464278Joe Onorato
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** @hide */
3025f95f92005594f2ef094001c54cb4c39eec3adeJoe Onoratointerface IStatusBarService
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
3211cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    void expandNotificationsPanel();
3311cf178100e71d3f9f34ab5865e03a277c5eadaaDaniel Sandler    void collapsePanels();
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    void disable(int what, IBinder token, String pkg);
35ea2ec97f37c649881f2be8a5cc40bf44080cc632Benjamin Franz    void disableForUser(int what, IBinder token, String pkg, int userId);
36cde0a2a9ea00d6e4acfe6ce7a7c9061343df7fa3Benjamin Franz    void disable2(int what, IBinder token, String pkg);
37cde0a2a9ea00d6e4acfe6ce7a7c9061343df7fa3Benjamin Franz    void disable2ForUser(int what, IBinder token, String pkg, int userId);
386179ea3196e9306d3f14361fe9ef14191b1edba6Svetoslav Ganov    void setIcon(String slot, String iconPackage, int iconId, int iconLevel, String contentDescription);
390cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onorato    void setIconVisibility(String slot, boolean visible);
400cbda99f8721ad9b03ada04d2637fb75a2a0fecaJoe Onorato    void removeIcon(String slot);
41b605fecd9e4282823af754b3968b21205d64554aJason Monk    void setImeWindowStatus(in IBinder token, int vis, int backDisposition,
42b605fecd9e4282823af754b3968b21205d64554aJason Monk            boolean showImeSwitcher);
43a9927325eda025504d59bb6594fee8e240d95b01Jason Monk    void expandSettingsPanel(String subPanel);
442314aab5064ce09f09270e52fa12a38d07464278Joe Onorato
452314aab5064ce09f09270e52fa12a38d07464278Joe Onorato    // ---- Methods below are for use by the status bar policy services ----
468bc6c5141974dbc36a6fe416853f558921be9f24Joe Onorato    // You need the STATUS_BAR_SERVICE permission
4707473cea3a6007d5e72b25d3445437a175735fa9Jason Monk    void registerStatusBar(IStatusBar callbacks, out List<String> iconSlots,
4807473cea3a6007d5e72b25d3445437a175735fa9Jason Monk            out List<StatusBarIcon> iconList,
4986905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggi            out int[] switches, out List<IBinder> binders, out Rect fullscreenStackBounds,
5086905582411c5c77a3e7641589cf206c6e5770f5Jorim Jaggi            out Rect dockedStackBounds);
51b659c4f44a839e6ad7ef6834cc0d35954e04460aChris Wren    void onPanelRevealed(boolean clearNotificationEffects, int numItems);
52760ea554d0022fd88bbe13e3ef7c75cbe8613af6Christoph Studer    void onPanelHidden();
531f32c65697c22f423c2888cf4c53da1c95d602c1Christoph Studer    // Mark current notifications as "seen" and stop ringing, vibrating, blinking.
541f32c65697c22f423c2888cf4c53da1c95d602c1Christoph Studer    void clearNotificationEffects();
5503b87a2f40c26948b7b0c9409c33ad44857218cfChristoph Studer    void onNotificationClick(String key);
564da84cd56582fb4025eb5a9a1d4bb5b5b4a50cefChristoph Studer    void onNotificationActionClick(String key, int actionIndex);
579d39d0cb361c5d3bba04a6bacf299be2162a6e92Dianne Hackborn    void onNotificationError(String pkg, String tag, int id,
583a7c4a5669420ae9b01eda88d1d60114e99d70ffKenny Guy            int uid, int initialPid, String message, int userId);
593a7c4a5669420ae9b01eda88d1d60114e99d70ffKenny Guy    void onClearAllNotifications(int userId);
603a7c4a5669420ae9b01eda88d1d60114e99d70ffKenny Guy    void onNotificationClear(String pkg, String tag, int id, int userId);
61d1dbc92d67af4cb72bb2faff9011d36b6833bbfdChris Wren    void onNotificationVisibilityChanged( in NotificationVisibility[] newlyVisibleKeys,
62d1dbc92d67af4cb72bb2faff9011d36b6833bbfdChris Wren            in NotificationVisibility[] noLongerVisibleKeys);
6378403d79739605511ea88b653564d81d7bf4bbbaChris Wren    void onNotificationExpansionChanged(in String key, in boolean userAction, in boolean expanded);
6453f28eccc546504cb1e894c02176ecce3139264eAdrian Roos    void setSystemUiVisibility(int vis, int mask, String cause);
657e53f20c835ae2614c92717a6fc222b345c75036Jason Monk
667e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    void addTile(in ComponentName tile);
677e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    void remTile(in ComponentName tile);
687e53f20c835ae2614c92717a6fc222b345c75036Jason Monk    void clickTile(in ComponentName tile);
699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
70