2 * Copyright (c) 2007, The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package com.android.internal.statusbar;
19 import android.content.ComponentName;
20 import android.graphics.Rect;
21 import android.os.Bundle;
22 import android.service.notification.StatusBarNotification;
24 import com.android.internal.statusbar.StatusBarIcon;
27 oneway interface IStatusBar
29 void setIcon(String slot, in StatusBarIcon icon);
30 void removeIcon(String slot);
31 void disable(int state1, int state2);
32 void animateExpandNotificationsPanel();
33 void animateExpandSettingsPanel(String subPanel);
34 void animateCollapsePanels();
37 * Notifies the status bar of a System UI visibility flag change.
39 * @param vis the visibility flags except SYSTEM_UI_FLAG_LIGHT_STATUS_BAR which will be reported
40 * separately in fullscreenStackVis and dockedStackVis
41 * @param fullscreenStackVis the flags which only apply in the region of the fullscreen stack,
42 * which is currently only SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
43 * @param dockedStackVis the flags that only apply in the region of the docked stack, which is
44 * currently only SYSTEM_UI_FLAG_LIGHT_STATUS_BAR
45 * @param mask which flags to change
46 * @param fullscreenBounds the current bounds of the fullscreen stack, in screen coordinates
47 * @param dockedBounds the current bounds of the docked stack, in screen coordinates
49 void setSystemUiVisibility(int vis, int fullscreenStackVis, int dockedStackVis, int mask,
50 in Rect fullscreenBounds, in Rect dockedBounds);
52 void topAppWindowChanged(boolean menuVisible);
53 void setImeWindowStatus(in IBinder token, int vis, int backDisposition,
54 boolean showImeSwitcher);
55 void setWindowState(int window, int state);
56 void buzzBeepBlinked();
57 void notificationLightOff();
58 void notificationLightPulse(int argb, int millisOn, int millisOff);
60 void showRecentApps(boolean triggeredFromAltTab, boolean fromHome);
61 void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
62 void toggleRecentApps();
63 void toggleSplitScreen();
64 void preloadRecentApps();
65 void cancelPreloadRecentApps();
66 void showScreenPinningRequest(int taskId);
68 void dismissKeyboardShortcutsMenu();
69 void toggleKeyboardShortcutsMenu(int deviceId);
72 * Notifies the status bar that an app transition is pending to delay applying some flags with
73 * visual impact until {@link #appTransitionReady} is called.
75 void appTransitionPending();
78 * Notifies the status bar that a pending app transition has been cancelled.
80 void appTransitionCancelled();
83 * Notifies the status bar that an app transition is now being executed.
85 * @param statusBarAnimationsStartTime the desired start time for all visual animations in the
86 * status bar caused by this app transition in uptime millis
87 * @param statusBarAnimationsDuration the duration for all visual animations in the status
88 * bar caused by this app transition in millis
90 void appTransitionStarting(long statusBarAnimationsStartTime, long statusBarAnimationsDuration);
93 * Notifies the status bar that an app transition is done.
95 void appTransitionFinished();
97 void showAssistDisclosure();
98 void startAssist(in Bundle args);
101 * Notifies the status bar that a camera launch gesture has been detected.
103 * @param source the identifier for the gesture, see {@link StatusBarManager}
105 void onCameraLaunchGestureDetected(int source);
108 * Shows the TV's picture-in-picture menu if an activity is in picture-in-picture mode.
110 void showTvPictureInPictureMenu();
112 void addQsTile(in ComponentName tile);
113 void remQsTile(in ComponentName tile);
114 void clickQsTile(in ComponentName tile);
115 void handleSystemNavigationKey(in int key);