blob: 38a3d01988f8e46766e71ead922b47e78d7840df [file] [log] [blame]
Adam Lesinski182f73f2013-12-05 16:48:06 -08001/**
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
17package com.android.server.statusbar;
18
Jorim Jaggi86905582016-02-09 21:36:09 -080019import android.graphics.Rect;
Jorim Jaggi165ce062015-07-06 16:18:11 -070020import android.os.Bundle;
21
Adam Lesinski182f73f2013-12-05 16:48:06 -080022import com.android.server.notification.NotificationDelegate;
23
Adam Lesinski182f73f2013-12-05 16:48:06 -080024public interface StatusBarManagerInternal {
25 void setNotificationDelegate(NotificationDelegate delegate);
John Spurlockcad57682014-07-26 17:09:56 -040026 void buzzBeepBlinked();
John Spurlockcb566aa2014-08-03 22:58:28 -040027 void notificationLightPulse(int argb, int onMillis, int offMillis);
28 void notificationLightOff();
Andrii Kulian0f051f52016-04-14 00:41:51 -070029 void showScreenPinningRequest(int taskId);
Adrian Roos4f43dc02015-06-17 16:43:38 -070030 void showAssistDisclosure();
Adrian Roosf2efdd82016-04-15 17:43:18 -070031
32 void preloadRecentApps();
33
34 void cancelPreloadRecentApps();
35
36 void showRecentApps(boolean triggeredFromAltTab, boolean fromHome);
37
38 void hideRecentApps(boolean triggeredFromAltTab, boolean triggeredFromHomeKey);
39
40 void toggleKeyboardShortcutsMenu(int deviceId);
41
42 /**
43 * Request picture-in-picture.
44 *
45 * <p>
46 * This is called when an user presses picture-in-picture key or equivalent.
47 * TV device may start picture-in-picture from foreground activity if there's none.
48 * Picture-in-picture overlay menu will be shown instead otherwise.
49 */
50 void requestTvPictureInPicture();
51
52 void setWindowState(int window, int state);
53
54 /**
55 * Notifies the status bar that an app transition is pending to delay applying some flags with
56 * visual impact until {@link #appTransitionReady} is called.
57 */
58 void appTransitionPending();
59
60 /**
61 * Notifies the status bar that a pending app transition has been cancelled.
62 */
63 void appTransitionCancelled();
64
65 /**
66 * Notifies the status bar that an app transition is now being executed.
67 *
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 */
73 void appTransitionStarting(long statusBarAnimationsStartTime, long statusBarAnimationsDuration);
74
Jorim Jaggi165ce062015-07-06 16:18:11 -070075 void startAssist(Bundle args);
Jorim Jaggi40aa8812015-09-23 12:59:22 -070076 void onCameraLaunchGestureDetected(int source);
Jorim Jaggi86905582016-02-09 21:36:09 -080077 void topAppWindowChanged(boolean menuVisible);
78 void setSystemUiVisibility(int vis, int fullscreenStackVis, int dockedStackVis, int mask,
79 Rect fullscreenBounds, Rect dockedBounds, String cause);
Phil Weaver315c34e2016-02-19 15:12:29 -080080 void toggleSplitScreen();
Jorim Jaggi2adba072016-03-03 13:43:39 +010081 void appTransitionFinished();
Adrian Roosf2efdd82016-04-15 17:43:18 -070082
83 void toggleRecentApps();
84
85 void setCurrentUser(int newUserId);
Adam Lesinski182f73f2013-12-05 16:48:06 -080086}