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