diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java index 1fdabc0a9fee1..cf07f5c0230b1 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java @@ -493,7 +493,7 @@ public class StatusBar extends SystemUI implements DemoMode, private Runnable mLaunchTransitionEndRunnable; private NotificationEntry mDraggedDownEntry; - private boolean mLaunchCameraOnScreenTurningOn; + private boolean mLaunchCameraWhenFinishedWaking; private boolean mLaunchCameraOnFinishedGoingToSleep; private int mLastCameraLaunchSource; protected PowerManager.WakeLock mGestureWakeLock; @@ -3595,7 +3595,7 @@ public class StatusBar extends SystemUI implements DemoMode, public void onFinishedGoingToSleep() { mNotificationPanel.onAffordanceLaunchEnded(); releaseGestureWakeLock(); - mLaunchCameraOnScreenTurningOn = false; + mLaunchCameraWhenFinishedWaking = false; mDeviceInteractive = false; mWakeUpComingFromTouch = false; mWakeUpTouchLocation = null; @@ -3640,6 +3640,11 @@ public class StatusBar extends SystemUI implements DemoMode, @Override public void onFinishedWakingUp() { mWakeUpCoordinator.setWakingUp(false); + if (mLaunchCameraWhenFinishedWaking) { + mNotificationPanel.launchCamera(false /* animate */, mLastCameraLaunchSource); + mLaunchCameraWhenFinishedWaking = false; + } + updateScrimController(); } }; @@ -3660,13 +3665,6 @@ public class StatusBar extends SystemUI implements DemoMode, public void onScreenTurningOn() { mFalsingManager.onScreenTurningOn(); mNotificationPanel.onScreenTurningOn(); - - if (mLaunchCameraOnScreenTurningOn) { - mNotificationPanel.launchCamera(false, mLastCameraLaunchSource); - mLaunchCameraOnScreenTurningOn = false; - } - - updateScrimController(); } @Override @@ -3761,7 +3759,7 @@ public class StatusBar extends SystemUI implements DemoMode, // comes on. mGestureWakeLock.acquire(LAUNCH_TRANSITION_TIMEOUT_MS + 1000L); } - if (isScreenTurningOnOrOn()) { + if (isWakingUpOrAwake()) { if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Launching camera"); if (mStatusBarKeyguardViewManager.isBouncerShowing()) { mStatusBarKeyguardViewManager.reset(true /* hide */); @@ -3774,7 +3772,7 @@ public class StatusBar extends SystemUI implements DemoMode, // incorrectly get notified because of the screen on event (which resumes and pauses // some activities) if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Deferring until screen turns on"); - mLaunchCameraOnScreenTurningOn = true; + mLaunchCameraWhenFinishedWaking = true; } } } @@ -3799,9 +3797,9 @@ public class StatusBar extends SystemUI implements DemoMode, == WakefulnessLifecycle.WAKEFULNESS_GOING_TO_SLEEP; } - private boolean isScreenTurningOnOrOn() { - return mScreenLifecycle.getScreenState() == ScreenLifecycle.SCREEN_TURNING_ON - || mScreenLifecycle.getScreenState() == ScreenLifecycle.SCREEN_ON; + private boolean isWakingUpOrAwake() { + return mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_AWAKE + || mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_WAKING; } public void notifyBiometricAuthModeChanged() { @@ -3833,7 +3831,7 @@ public class StatusBar extends SystemUI implements DemoMode, ScrimState state = mStatusBarKeyguardViewManager.bouncerNeedsScrimming() ? ScrimState.BOUNCER_SCRIMMED : ScrimState.BOUNCER; mScrimController.transitionTo(state); - } else if (isInLaunchTransition() || mLaunchCameraOnScreenTurningOn + } else if (isInLaunchTransition() || mLaunchCameraWhenFinishedWaking || launchingAffordanceWithPreview) { mScrimController.transitionTo(ScrimState.UNLOCKED, mUnlockScrimCallback); } else if (mBrightnessMirrorVisible) {