1 /**
2  * Copyright (c) 2013, 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 
17 package com.android.server.statusbar;
18 
19 import android.graphics.Rect;
20 import android.os.Bundle;
21 
22 import com.android.server.notification.NotificationDelegate;
23 
24 public interface StatusBarManagerInternal {
setNotificationDelegate(NotificationDelegate delegate)25     void setNotificationDelegate(NotificationDelegate delegate);
showScreenPinningRequest(int taskId)26     void showScreenPinningRequest(int taskId);
showAssistDisclosure()27     void showAssistDisclosure();
28 
preloadRecentApps()29     void preloadRecentApps();
30 
cancelPreloadRecentApps()31     void cancelPreloadRecentApps();
32 
showRecentApps(boolean triggeredFromAltTab)33     void showRecentApps(boolean triggeredFromAltTab);
34 
hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey)35     void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
36 
dismissKeyboardShortcutsMenu()37     void dismissKeyboardShortcutsMenu();
toggleKeyboardShortcutsMenu(int deviceId)38     void toggleKeyboardShortcutsMenu(int deviceId);
39 
showChargingAnimation(int batteryLevel)40     void showChargingAnimation(int batteryLevel);
41 
42     /**
43      * Show picture-in-picture menu.
44      */
showPictureInPictureMenu()45     void showPictureInPictureMenu();
46 
setWindowState(int displayId, int window, int state)47     void setWindowState(int displayId, int window, int state);
48 
49     /**
50      * Notifies the status bar that an app transition is pending to delay applying some flags with
51      * visual impact until {@link #appTransitionReady} is called.
52      *
53      * @param displayId the ID of the display which has this event.
54      */
appTransitionPending(int displayId)55     void appTransitionPending(int displayId);
56 
57     /**
58      * Notifies the status bar that a pending app transition has been cancelled.
59      *
60      * @param displayId the ID of the display which has this event.
61      */
appTransitionCancelled(int displayId)62     void appTransitionCancelled(int displayId);
63 
64     /**
65      * Notifies the status bar that an app transition is now being executed.
66      *
67      * @param displayId the ID of the display which has this event.
68      * @param statusBarAnimationsStartTime the desired start time for all visual animations in the
69      *        status bar caused by this app transition in uptime millis
70      * @param statusBarAnimationsDuration the duration for all visual animations in the status
71      *        bar caused by this app transition in millis
72      */
appTransitionStarting(int displayId, long statusBarAnimationsStartTime, long statusBarAnimationsDuration)73     void appTransitionStarting(int displayId, long statusBarAnimationsStartTime,
74             long statusBarAnimationsDuration);
75 
startAssist(Bundle args)76     void startAssist(Bundle args);
onCameraLaunchGestureDetected(int source)77     void onCameraLaunchGestureDetected(int source);
topAppWindowChanged(int displayId, boolean menuVisible)78     void topAppWindowChanged(int displayId, boolean menuVisible);
setSystemUiVisibility(int displayId, int vis, int fullscreenStackVis, int dockedStackVis, int mask, Rect fullscreenBounds, Rect dockedBounds, boolean isNavbarColorManagedByIme, String cause)79     void setSystemUiVisibility(int displayId, int vis, int fullscreenStackVis, int dockedStackVis,
80             int mask, Rect fullscreenBounds, Rect dockedBounds, boolean isNavbarColorManagedByIme,
81             String cause);
toggleSplitScreen()82     void toggleSplitScreen();
appTransitionFinished(int displayId)83     void appTransitionFinished(int displayId);
84 
toggleRecentApps()85     void toggleRecentApps();
86 
setCurrentUser(int newUserId)87     void setCurrentUser(int newUserId);
88 
89     /**
90      * Set whether the top app currently hides the statusbar.
91      *
92      * @param hidesStatusBar whether it is being hidden
93      */
setTopAppHidesStatusBar(boolean hidesStatusBar)94     void setTopAppHidesStatusBar(boolean hidesStatusBar);
95 
showShutdownUi(boolean isReboot, String requestString)96     boolean showShutdownUi(boolean isReboot, String requestString);
97 
98     /**
99      * Show a rotation suggestion that a user may approve to rotate the screen.
100      *
101      * @param rotation rotation suggestion
102      */
onProposedRotationChanged(int rotation, boolean isValid)103     void onProposedRotationChanged(int rotation, boolean isValid);
104 
105     /**
106      * Notifies System UI that the display is ready to show system decorations.
107      *
108      * @param displayId display ID
109      */
onDisplayReady(int displayId)110     void onDisplayReady(int displayId);
111 
112     /**
113      * Notifies System UI whether the recents animation is running.
114      */
onRecentsAnimationStateChanged(boolean running)115     void onRecentsAnimationStateChanged(boolean running);
116 }
117