Merge "Fix camera race condition" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f2c4f55435
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user