IStatusBar.aidl revision 07e0384a4e931bc94550c108ddd9b9514100161e
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 android.content.ComponentName;
20import android.graphics.Rect;
21import android.os.Bundle;
22import android.service.notification.StatusBarNotification;
23
24import com.android.internal.statusbar.StatusBarIcon;
25
26/** @hide */
27oneway interface IStatusBar
28{
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();
35
36    /**
37     * Notifies the status bar of a System UI visibility flag change.
38     *
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
48     */
49    void setSystemUiVisibility(int vis, int fullscreenStackVis, int dockedStackVis, int mask,
50            in Rect fullscreenBounds, in Rect dockedBounds);
51
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);
59
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);
67
68    void dismissKeyboardShortcutsMenu();
69    void toggleKeyboardShortcutsMenu(int deviceId);
70
71    /**
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.
74     */
75    void appTransitionPending();
76
77    /**
78     * Notifies the status bar that a pending app transition has been cancelled.
79     */
80    void appTransitionCancelled();
81
82    /**
83     * Notifies the status bar that an app transition is now being executed.
84     *
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
89     */
90    void appTransitionStarting(long statusBarAnimationsStartTime, long statusBarAnimationsDuration);
91
92    /**
93     * Notifies the status bar that an app transition is done.
94     */
95    void appTransitionFinished();
96
97    void showAssistDisclosure();
98    void startAssist(in Bundle args);
99
100    /**
101     * Notifies the status bar that a camera launch gesture has been detected.
102     *
103     * @param source the identifier for the gesture, see {@link StatusBarManager}
104     */
105    void onCameraLaunchGestureDetected(int source);
106
107    /**
108     * Shows the TV's picture-in-picture menu if an activity is in picture-in-picture mode.
109     */
110    void showTvPictureInPictureMenu();
111
112    void addQsTile(in ComponentName tile);
113    void remQsTile(in ComponentName tile);
114    void clickQsTile(in ComponentName tile);
115    void handleSystemNavigationKey(in int key);
116}
117