• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2022 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.systemui.statusbar.phone;
18 
19 import static com.android.wm.shell.transition.Transitions.ENABLE_SHELL_TRANSITIONS;
20 
21 import android.annotation.Nullable;
22 import android.app.ActivityOptions;
23 import android.app.PendingIntent;
24 import android.content.Context;
25 import android.content.Intent;
26 import android.content.pm.PackageManager;
27 import android.os.Bundle;
28 import android.os.PowerManager;
29 import android.os.UserHandle;
30 import android.service.notification.StatusBarNotification;
31 import android.view.KeyEvent;
32 import android.view.RemoteAnimationAdapter;
33 import android.view.View;
34 import android.view.ViewGroup;
35 import android.window.SplashScreen;
36 
37 import androidx.annotation.NonNull;
38 import androidx.lifecycle.Lifecycle;
39 import androidx.lifecycle.LifecycleOwner;
40 
41 import com.android.internal.annotations.VisibleForTesting;
42 import com.android.internal.statusbar.RegisterStatusBarResult;
43 import com.android.keyguard.AuthKeyguardMessageArea;
44 import com.android.systemui.Dumpable;
45 import com.android.systemui.animation.ActivityLaunchAnimator;
46 import com.android.systemui.animation.RemoteTransitionAdapter;
47 import com.android.systemui.navigationbar.NavigationBarView;
48 import com.android.systemui.plugins.ActivityStarter;
49 import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
50 import com.android.systemui.qs.QSPanelController;
51 import com.android.systemui.shade.NotificationPanelViewController;
52 import com.android.systemui.shade.NotificationShadeWindowView;
53 import com.android.systemui.shade.NotificationShadeWindowViewController;
54 import com.android.systemui.statusbar.LightRevealScrim;
55 import com.android.systemui.statusbar.NotificationPresenter;
56 import com.android.systemui.util.Compile;
57 
58 import java.io.PrintWriter;
59 
60 public interface CentralSurfaces extends Dumpable, ActivityStarter, LifecycleOwner {
61     boolean MULTIUSER_DEBUG = false;
62     // Should match the values in PhoneWindowManager
63     String SYSTEM_DIALOG_REASON_KEY = "reason";
64     String SYSTEM_DIALOG_REASON_RECENT_APPS = "recentapps";
65     String SYSTEM_DIALOG_REASON_DREAM = "dream";
66     String SYSTEM_DIALOG_REASON_SCREENSHOT = "screenshot";
67     String TAG = "CentralSurfaces";
68     boolean DEBUG = false;
69     boolean SPEW = false;
70     boolean DUMPTRUCK = true; // extra dumpsys info
71     boolean DEBUG_GESTURES = false;
72     boolean DEBUG_MEDIA_FAKE_ARTWORK = false;
73     boolean DEBUG_CAMERA_LIFT = false;
74     boolean DEBUG_WINDOW_STATE = false;
75     boolean DEBUG_WAKEUP_DELAY = Compile.IS_DEBUG;
76     // additional instrumentation for testing purposes; intended to be left on during development
77     boolean CHATTY = DEBUG;
78     boolean SHOW_LOCKSCREEN_MEDIA_ARTWORK = true;
79     String ACTION_FAKE_ARTWORK = "fake_artwork";
80     int FADE_KEYGUARD_START_DELAY = 100;
81     int FADE_KEYGUARD_DURATION = 300;
82     int FADE_KEYGUARD_DURATION_PULSING = 96;
83     long[] CAMERA_LAUNCH_GESTURE_VIBRATION_TIMINGS =
84             new long[]{20, 20, 20, 20, 100, 20};
85     int[] CAMERA_LAUNCH_GESTURE_VIBRATION_AMPLITUDES =
86             new int[]{39, 82, 139, 213, 0, 127};
87 
88     /** If true, the lockscreen will show a distinct wallpaper */
89     boolean ENABLE_LOCKSCREEN_WALLPAPER = true;
90     // Time after we abort the launch transition.
91     long LAUNCH_TRANSITION_TIMEOUT_MS = 5000;
92     int MSG_DISMISS_KEYBOARD_SHORTCUTS_MENU = 1027;
93 
94     static final boolean CLOSE_PANEL_WHEN_EMPTIED = true;
95 
viewInfo(View v)96     static String viewInfo(View v) {
97         return "[(" + v.getLeft() + "," + v.getTop() + ")(" + v.getRight() + "," + v.getBottom()
98                 + ") " + v.getWidth() + "x" + v.getHeight() + "]";
99     }
100 
dumpBarTransitions( PrintWriter pw, String var, @Nullable BarTransitions transitions)101     static void dumpBarTransitions(
102             PrintWriter pw, String var, @Nullable BarTransitions transitions) {
103         pw.print("  ");
104         pw.print(var);
105         pw.print(".BarTransitions.mMode=");
106         if (transitions != null) {
107             pw.println(BarTransitions.modeToString(transitions.getMode()));
108         } else {
109             pw.println("Unknown");
110         }
111     }
112 
113     /**
114      * Returns an ActivityOptions bundle created using the given parameters.
115      *
116      * @param displayId The ID of the display to launch the activity in. Typically this would
117      *                  be the display the status bar is on.
118      * @param animationAdapter The animation adapter used to start this activity, or {@code null}
119      *                         for the default animation.
120      */
getActivityOptions(int displayId, @Nullable RemoteAnimationAdapter animationAdapter)121     static Bundle getActivityOptions(int displayId,
122             @Nullable RemoteAnimationAdapter animationAdapter) {
123         ActivityOptions options = getDefaultActivityOptions(animationAdapter);
124         options.setLaunchDisplayId(displayId);
125         options.setCallerDisplayId(displayId);
126         return options.toBundle();
127     }
128 
129     /**
130      * Returns an ActivityOptions bundle created using the given parameters.
131      *
132      * @param displayId         The ID of the display to launch the activity in. Typically this
133      *                          would be the
134      *                          display the status bar is on.
135      * @param animationAdapter  The animation adapter used to start this activity, or {@code null}
136      *                          for the default animation.
137      * @param isKeyguardShowing Whether keyguard is currently showing.
138      * @param eventTime         The event time in milliseconds since boot, not including sleep. See
139      *                          {@link ActivityOptions#setSourceInfo}.
140      */
getActivityOptions(int displayId, @Nullable RemoteAnimationAdapter animationAdapter, boolean isKeyguardShowing, long eventTime)141     static Bundle getActivityOptions(int displayId,
142             @Nullable RemoteAnimationAdapter animationAdapter, boolean isKeyguardShowing,
143             long eventTime) {
144         ActivityOptions options = getDefaultActivityOptions(animationAdapter);
145         options.setSourceInfo(isKeyguardShowing ? ActivityOptions.SourceInfo.TYPE_LOCKSCREEN
146                 : ActivityOptions.SourceInfo.TYPE_NOTIFICATION, eventTime);
147         options.setLaunchDisplayId(displayId);
148         options.setCallerDisplayId(displayId);
149         return options.toBundle();
150     }
151 
getDefaultActivityOptions( @ullable RemoteAnimationAdapter animationAdapter)152     static ActivityOptions getDefaultActivityOptions(
153             @Nullable RemoteAnimationAdapter animationAdapter) {
154         ActivityOptions options;
155         if (animationAdapter != null) {
156             if (ENABLE_SHELL_TRANSITIONS) {
157                 options = ActivityOptions.makeRemoteTransition(
158                         RemoteTransitionAdapter.adaptRemoteAnimation(animationAdapter));
159             } else {
160                 options = ActivityOptions.makeRemoteAnimation(animationAdapter);
161             }
162         } else {
163             options = ActivityOptions.makeBasic();
164         }
165         options.setSplashScreenStyle(SplashScreen.SPLASH_SCREEN_STYLE_SOLID_COLOR);
166         return options;
167     }
168 
169     /**
170      * @return a PackageManager for userId or if userId is < 0 (USER_ALL etc) then
171      * return PackageManager for mContext
172      */
getPackageManagerForUser(Context context, int userId)173     static PackageManager getPackageManagerForUser(Context context, int userId) {
174         Context contextForUser = context;
175         // UserHandle defines special userId as negative values, e.g. USER_ALL
176         if (userId >= 0) {
177             try {
178                 // Create a context for the correct user so if a package isn't installed
179                 // for user 0 we can still load information about the package.
180                 contextForUser =
181                         context.createPackageContextAsUser(context.getPackageName(),
182                                 Context.CONTEXT_RESTRICTED,
183                                 new UserHandle(userId));
184             } catch (PackageManager.NameNotFoundException e) {
185                 // Shouldn't fail to find the package name for system ui.
186             }
187         }
188         return contextForUser.getPackageManager();
189     }
190 
animateExpandNotificationsPanel()191     void animateExpandNotificationsPanel();
192 
animateExpandSettingsPanel(@ullable String subpanel)193     void animateExpandSettingsPanel(@Nullable String subpanel);
194 
collapsePanelOnMainThread()195     void collapsePanelOnMainThread();
196 
togglePanel()197     void togglePanel();
198 
start()199     void start();
200 
updateIsKeyguard()201     boolean updateIsKeyguard();
202 
updateIsKeyguard(boolean forceStateChange)203     boolean updateIsKeyguard(boolean forceStateChange);
204 
205     @NonNull
206     @Override
getLifecycle()207     Lifecycle getLifecycle();
208 
209     /**
210      * Wakes up the device if the device was dozing.
211      */
wakeUpIfDozing(long time, View where, String why, @PowerManager.WakeReason int wakeReason)212     void wakeUpIfDozing(long time, View where, String why, @PowerManager.WakeReason int wakeReason);
213 
getNotificationShadeWindowView()214     NotificationShadeWindowView getNotificationShadeWindowView();
215 
getNotificationShadeWindowViewController()216     NotificationShadeWindowViewController getNotificationShadeWindowViewController();
217 
getNotificationPanelViewController()218     NotificationPanelViewController getNotificationPanelViewController();
219 
getBouncerContainer()220     ViewGroup getBouncerContainer();
221 
222     /** Get the Keyguard Message Area that displays auth messages. */
getKeyguardMessageArea()223     AuthKeyguardMessageArea getKeyguardMessageArea();
224 
getStatusBarHeight()225     int getStatusBarHeight();
226 
updateQsExpansionEnabled()227     void updateQsExpansionEnabled();
228 
isShadeDisabled()229     boolean isShadeDisabled();
230 
231     @Override
startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags)232     void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade,
233             int flags);
234 
235     @Override
startActivity(Intent intent, boolean dismissShade)236     void startActivity(Intent intent, boolean dismissShade);
237 
238     @Override
startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController, boolean showOverLockscreenWhenLocked)239     void startActivity(Intent intent, boolean dismissShade,
240             @Nullable ActivityLaunchAnimator.Controller animationController,
241             boolean showOverLockscreenWhenLocked);
242 
243     @Override
startActivity(Intent intent, boolean dismissShade, @Nullable ActivityLaunchAnimator.Controller animationController, boolean showOverLockscreenWhenLocked, UserHandle userHandle)244     void startActivity(Intent intent, boolean dismissShade,
245             @Nullable ActivityLaunchAnimator.Controller animationController,
246             boolean showOverLockscreenWhenLocked, UserHandle userHandle);
247 
isLaunchingActivityOverLockscreen()248     boolean isLaunchingActivityOverLockscreen();
249 
250     @Override
startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade)251     void startActivity(Intent intent, boolean onlyProvisioned, boolean dismissShade);
252 
253     @Override
startActivity(Intent intent, boolean dismissShade, Callback callback)254     void startActivity(Intent intent, boolean dismissShade, Callback callback);
255 
isWakeUpComingFromTouch()256     boolean isWakeUpComingFromTouch();
257 
onKeyguardViewManagerStatesUpdated()258     void onKeyguardViewManagerStatesUpdated();
259 
getNotificationScrollLayout()260     ViewGroup getNotificationScrollLayout();
261 
isPulsing()262     boolean isPulsing();
263 
isOccluded()264     boolean isOccluded();
265 
266     //TODO: These can / should probably be moved to NotificationPresenter or ShadeController
onLaunchAnimationCancelled(boolean isLaunchForActivity)267     void onLaunchAnimationCancelled(boolean isLaunchForActivity);
268 
onLaunchAnimationEnd(boolean launchIsFullScreen)269     void onLaunchAnimationEnd(boolean launchIsFullScreen);
270 
shouldAnimateLaunch(boolean isActivityIntent, boolean showOverLockscreen)271     boolean shouldAnimateLaunch(boolean isActivityIntent, boolean showOverLockscreen);
272 
shouldAnimateLaunch(boolean isActivityIntent)273     boolean shouldAnimateLaunch(boolean isActivityIntent);
274 
isDeviceInVrMode()275     boolean isDeviceInVrMode();
276 
getPresenter()277     NotificationPresenter getPresenter();
278 
postAnimateCollapsePanels()279     void postAnimateCollapsePanels();
280 
postAnimateForceCollapsePanels()281     void postAnimateForceCollapsePanels();
282 
postAnimateOpenPanels()283     void postAnimateOpenPanels();
284 
isPanelExpanded()285     boolean isPanelExpanded();
286 
onInputFocusTransfer(boolean start, boolean cancel, float velocity)287     void onInputFocusTransfer(boolean start, boolean cancel, float velocity);
288 
animateCollapseQuickSettings()289     void animateCollapseQuickSettings();
290 
291     /** */
getCommandQueuePanelsEnabled()292     boolean getCommandQueuePanelsEnabled();
293 
294     /** */
getStatusBarWindowState()295     int getStatusBarWindowState();
296 
getBiometricUnlockController()297     BiometricUnlockController getBiometricUnlockController();
298 
showWirelessChargingAnimation(int batteryLevel)299     void showWirelessChargingAnimation(int batteryLevel);
300 
checkBarModes()301     void checkBarModes();
302 
updateBubblesVisibility()303     void updateBubblesVisibility();
304 
setInteracting(int barWindow, boolean interacting)305     void setInteracting(int barWindow, boolean interacting);
306 
307     @Override
dump(PrintWriter pwOriginal, String[] args)308     void dump(PrintWriter pwOriginal, String[] args);
309 
createAndAddWindows(@ullable RegisterStatusBarResult result)310     void createAndAddWindows(@Nullable RegisterStatusBarResult result);
311 
getDisplayWidth()312     float getDisplayWidth();
313 
getDisplayHeight()314     float getDisplayHeight();
315 
startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned, boolean dismissShade, int flags)316     void startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned,
317             boolean dismissShade, int flags);
318 
startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned, boolean dismissShade)319     void startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned,
320             boolean dismissShade);
321 
startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned, boolean dismissShade, boolean disallowEnterPictureInPictureWhileLaunching, Callback callback, int flags, @Nullable ActivityLaunchAnimator.Controller animationController, UserHandle userHandle)322     void startActivityDismissingKeyguard(Intent intent, boolean onlyProvisioned,
323             boolean dismissShade, boolean disallowEnterPictureInPictureWhileLaunching,
324             Callback callback, int flags,
325             @Nullable ActivityLaunchAnimator.Controller animationController,
326             UserHandle userHandle);
327 
readyForKeyguardDone()328     void readyForKeyguardDone();
329 
executeRunnableDismissingKeyguard(Runnable runnable, Runnable cancelAction, boolean dismissShade, boolean afterKeyguardGone, boolean deferred)330     void executeRunnableDismissingKeyguard(Runnable runnable,
331             Runnable cancelAction,
332             boolean dismissShade,
333             boolean afterKeyguardGone,
334             boolean deferred);
335 
executeRunnableDismissingKeyguard(Runnable runnable, Runnable cancelAction, boolean dismissShade, boolean afterKeyguardGone, boolean deferred, boolean willAnimateOnKeyguard)336     void executeRunnableDismissingKeyguard(Runnable runnable,
337             Runnable cancelAction,
338             boolean dismissShade,
339             boolean afterKeyguardGone,
340             boolean deferred,
341             boolean willAnimateOnKeyguard);
342 
resetUserExpandedStates()343     void resetUserExpandedStates();
344 
345     @Override
dismissKeyguardThenExecute(OnDismissAction action, Runnable cancelAction, boolean afterKeyguardGone)346     void dismissKeyguardThenExecute(OnDismissAction action, Runnable cancelAction,
347             boolean afterKeyguardGone);
348 
setLockscreenUser(int newUserId)349     void setLockscreenUser(int newUserId);
350 
351     @Override
postQSRunnableDismissingKeyguard(Runnable runnable)352     void postQSRunnableDismissingKeyguard(Runnable runnable);
353 
354     @Override
postStartActivityDismissingKeyguard(PendingIntent intent)355     void postStartActivityDismissingKeyguard(PendingIntent intent);
356 
357     @Override
postStartActivityDismissingKeyguard(PendingIntent intent, @Nullable ActivityLaunchAnimator.Controller animationController)358     void postStartActivityDismissingKeyguard(PendingIntent intent,
359             @Nullable ActivityLaunchAnimator.Controller animationController);
360 
361     @Override
postStartActivityDismissingKeyguard(Intent intent, int delay)362     void postStartActivityDismissingKeyguard(Intent intent, int delay);
363 
364     @Override
postStartActivityDismissingKeyguard(Intent intent, int delay, @Nullable ActivityLaunchAnimator.Controller animationController)365     void postStartActivityDismissingKeyguard(Intent intent, int delay,
366             @Nullable ActivityLaunchAnimator.Controller animationController);
367 
showKeyguard()368     void showKeyguard();
369 
hideKeyguard()370     boolean hideKeyguard();
371 
showKeyguardImpl()372     void showKeyguardImpl();
373 
fadeKeyguardAfterLaunchTransition(Runnable beforeFading, Runnable endRunnable, Runnable cancelRunnable)374     void fadeKeyguardAfterLaunchTransition(Runnable beforeFading,
375             Runnable endRunnable, Runnable cancelRunnable);
376 
startLaunchTransitionTimeout()377     void startLaunchTransitionTimeout();
378 
hideKeyguardImpl(boolean forceStateChange)379     boolean hideKeyguardImpl(boolean forceStateChange);
380 
keyguardGoingAway()381     void keyguardGoingAway();
382 
setKeyguardFadingAway(long startTime, long delay, long fadeoutDuration)383     void setKeyguardFadingAway(long startTime, long delay, long fadeoutDuration);
384 
finishKeyguardFadingAway()385     void finishKeyguardFadingAway();
386 
userActivity()387     void userActivity();
388 
interceptMediaKey(KeyEvent event)389     boolean interceptMediaKey(KeyEvent event);
390 
dispatchKeyEventPreIme(KeyEvent event)391     boolean dispatchKeyEventPreIme(KeyEvent event);
392 
onMenuPressed()393     boolean onMenuPressed();
394 
endAffordanceLaunch()395     void endAffordanceLaunch();
396 
397     /** Should the keyguard be hidden immediately in response to a back press/gesture. */
shouldKeyguardHideImmediately()398     boolean shouldKeyguardHideImmediately();
399 
onBackPressed()400     boolean onBackPressed();
401 
onSpacePressed()402     boolean onSpacePressed();
403 
showBouncerWithDimissAndCancelIfKeyguard(OnDismissAction performAction, Runnable cancelAction)404     void showBouncerWithDimissAndCancelIfKeyguard(OnDismissAction performAction,
405             Runnable cancelAction);
406 
getLightRevealScrim()407     LightRevealScrim getLightRevealScrim();
408 
409     // TODO: Figure out way to remove these.
getNavigationBarView()410     NavigationBarView getNavigationBarView();
411 
isOverviewEnabled()412     boolean isOverviewEnabled();
413 
showPinningEnterExitToast(boolean entering)414     void showPinningEnterExitToast(boolean entering);
415 
showPinningEscapeToast()416     void showPinningEscapeToast();
417 
setBouncerShowing(boolean bouncerShowing)418     void setBouncerShowing(boolean bouncerShowing);
419 
setBouncerShowingOverDream(boolean bouncerShowingOverDream)420   void setBouncerShowingOverDream(boolean bouncerShowingOverDream);
421 
collapseShade()422     void collapseShade();
423 
424     /** Collapse the shade, but conditional on a flag specific to the trigger of a bugreport. */
collapseShadeForBugreport()425     void collapseShadeForBugreport();
426 
getWakefulnessState()427     int getWakefulnessState();
428 
isScreenFullyOff()429     boolean isScreenFullyOff();
430 
showScreenPinningRequest(int taskId, boolean allowCancel)431     void showScreenPinningRequest(int taskId, boolean allowCancel);
432 
433     @Nullable
getEmergencyActionIntent()434     Intent getEmergencyActionIntent();
435 
isCameraAllowedByAdmin()436     boolean isCameraAllowedByAdmin();
437 
isGoingToSleep()438     boolean isGoingToSleep();
439 
notifyBiometricAuthModeChanged()440     void notifyBiometricAuthModeChanged();
441 
setTransitionToFullShadeProgress(float transitionToFullShadeProgress)442     void setTransitionToFullShadeProgress(float transitionToFullShadeProgress);
443 
444     /**
445      * Sets the amount of progress to the bouncer being fully hidden/visible. 1 means the bouncer
446      * is fully hidden, while 0 means the bouncer is visible.
447      */
setPrimaryBouncerHiddenFraction(float expansion)448     void setPrimaryBouncerHiddenFraction(float expansion);
449 
450     @VisibleForTesting
updateScrimController()451     void updateScrimController();
452 
isKeyguardShowing()453     boolean isKeyguardShowing();
454 
shouldIgnoreTouch()455     boolean shouldIgnoreTouch();
456 
isDeviceInteractive()457     boolean isDeviceInteractive();
458 
setNotificationSnoozed(StatusBarNotification sbn, NotificationSwipeActionHelper.SnoozeOption snoozeOption)459     void setNotificationSnoozed(StatusBarNotification sbn,
460             NotificationSwipeActionHelper.SnoozeOption snoozeOption);
461 
awakenDreams()462     void awakenDreams();
463 
464     @Override
startPendingIntentDismissingKeyguard(PendingIntent intent)465     void startPendingIntentDismissingKeyguard(PendingIntent intent);
466 
467     @Override
startPendingIntentDismissingKeyguard( PendingIntent intent, @Nullable Runnable intentSentUiThreadCallback)468     void startPendingIntentDismissingKeyguard(
469             PendingIntent intent, @Nullable Runnable intentSentUiThreadCallback);
470 
471     @Override
startPendingIntentDismissingKeyguard(PendingIntent intent, Runnable intentSentUiThreadCallback, View associatedView)472     void startPendingIntentDismissingKeyguard(PendingIntent intent,
473             Runnable intentSentUiThreadCallback, View associatedView);
474 
475     @Override
startPendingIntentDismissingKeyguard( PendingIntent intent, @Nullable Runnable intentSentUiThreadCallback, @Nullable ActivityLaunchAnimator.Controller animationController)476     void startPendingIntentDismissingKeyguard(
477             PendingIntent intent, @Nullable Runnable intentSentUiThreadCallback,
478             @Nullable ActivityLaunchAnimator.Controller animationController);
479 
clearNotificationEffects()480     void clearNotificationEffects();
481 
isBouncerShowing()482     boolean isBouncerShowing();
483 
isBouncerShowingScrimmed()484     boolean isBouncerShowingScrimmed();
485 
isBouncerShowingOverDream()486     boolean isBouncerShowingOverDream();
487 
isKeyguardSecure()488     boolean isKeyguardSecure();
489 
updateNotificationPanelTouchState()490     void updateNotificationPanelTouchState();
491 
getDisplayId()492     int getDisplayId();
493 
getRotation()494     int getRotation();
495 
496     @VisibleForTesting
setBarStateForTest(int state)497     void setBarStateForTest(int state);
498 
wakeUpForFullScreenIntent()499     void wakeUpForFullScreenIntent();
500 
showTransientUnchecked()501     void showTransientUnchecked();
502 
clearTransient()503     void clearTransient();
504 
acquireGestureWakeLock(long time)505     void acquireGestureWakeLock(long time);
506 
setAppearance(int appearance)507     boolean setAppearance(int appearance);
508 
getBarMode()509     int getBarMode();
510 
resendMessage(int msg)511     void resendMessage(int msg);
512 
resendMessage(Object msg)513     void resendMessage(Object msg);
514 
getDisabled1()515     int getDisabled1();
516 
setDisabled1(int disabled)517     void setDisabled1(int disabled);
518 
getDisabled2()519     int getDisabled2();
520 
setDisabled2(int disabled)521     void setDisabled2(int disabled);
522 
setLastCameraLaunchSource(int source)523     void setLastCameraLaunchSource(int source);
524 
setLaunchCameraOnFinishedGoingToSleep(boolean launch)525     void setLaunchCameraOnFinishedGoingToSleep(boolean launch);
526 
setLaunchCameraOnFinishedWaking(boolean launch)527     void setLaunchCameraOnFinishedWaking(boolean launch);
528 
setLaunchEmergencyActionOnFinishedGoingToSleep(boolean launch)529     void setLaunchEmergencyActionOnFinishedGoingToSleep(boolean launch);
530 
setLaunchEmergencyActionOnFinishedWaking(boolean launch)531     void setLaunchEmergencyActionOnFinishedWaking(boolean launch);
532 
getQSPanelController()533     QSPanelController getQSPanelController();
534 
areNotificationAlertsDisabled()535     boolean areNotificationAlertsDisabled();
536 
getDisplayDensity()537     float getDisplayDensity();
538 
extendDozePulse()539     void extendDozePulse();
540 
shouldDelayWakeUpAnimation()541     boolean shouldDelayWakeUpAnimation();
542 
543     public static class KeyboardShortcutsMessage {
544         final int mDeviceId;
545 
KeyboardShortcutsMessage(int deviceId)546         KeyboardShortcutsMessage(int deviceId) {
547             mDeviceId = deviceId;
548         }
549     }
550 }
551