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