Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6846f35a authored by Lucas Dupin's avatar Lucas Dupin Committed by android-build-merger
Browse files

Merge "Fix camera race condition" into qt-dev am: f2c4f554

am: 27206f28

Change-Id: I45b867f913c8882e4df1f0bcea29d970f10042a7
parents 6c2cef53 27206f28
Loading
Loading
Loading
Loading
+13 −15
Original line number Original line Diff line number Diff line
@@ -494,7 +494,7 @@ public class StatusBar extends SystemUI implements DemoMode,


    private Runnable mLaunchTransitionEndRunnable;
    private Runnable mLaunchTransitionEndRunnable;
    private NotificationEntry mDraggedDownEntry;
    private NotificationEntry mDraggedDownEntry;
    private boolean mLaunchCameraOnScreenTurningOn;
    private boolean mLaunchCameraWhenFinishedWaking;
    private boolean mLaunchCameraOnFinishedGoingToSleep;
    private boolean mLaunchCameraOnFinishedGoingToSleep;
    private int mLastCameraLaunchSource;
    private int mLastCameraLaunchSource;
    protected PowerManager.WakeLock mGestureWakeLock;
    protected PowerManager.WakeLock mGestureWakeLock;
@@ -3597,7 +3597,7 @@ public class StatusBar extends SystemUI implements DemoMode,
        public void onFinishedGoingToSleep() {
        public void onFinishedGoingToSleep() {
            mNotificationPanel.onAffordanceLaunchEnded();
            mNotificationPanel.onAffordanceLaunchEnded();
            releaseGestureWakeLock();
            releaseGestureWakeLock();
            mLaunchCameraOnScreenTurningOn = false;
            mLaunchCameraWhenFinishedWaking = false;
            mDeviceInteractive = false;
            mDeviceInteractive = false;
            mWakeUpComingFromTouch = false;
            mWakeUpComingFromTouch = false;
            mWakeUpTouchLocation = null;
            mWakeUpTouchLocation = null;
@@ -3644,6 +3644,11 @@ public class StatusBar extends SystemUI implements DemoMode,
        @Override
        @Override
        public void onFinishedWakingUp() {
        public void onFinishedWakingUp() {
            mWakeUpCoordinator.setWakingUp(false);
            mWakeUpCoordinator.setWakingUp(false);
            if (mLaunchCameraWhenFinishedWaking) {
                mNotificationPanel.launchCamera(false /* animate */, mLastCameraLaunchSource);
                mLaunchCameraWhenFinishedWaking = false;
            }
            updateScrimController();
        }
        }
    };
    };


@@ -3665,13 +3670,6 @@ public class StatusBar extends SystemUI implements DemoMode,
        public void onScreenTurningOn() {
        public void onScreenTurningOn() {
            mFalsingManager.onScreenTurningOn();
            mFalsingManager.onScreenTurningOn();
            mNotificationPanel.onScreenTurningOn();
            mNotificationPanel.onScreenTurningOn();

            if (mLaunchCameraOnScreenTurningOn) {
                mNotificationPanel.launchCamera(false, mLastCameraLaunchSource);
                mLaunchCameraOnScreenTurningOn = false;
            }

            updateScrimController();
        }
        }


        @Override
        @Override
@@ -3772,7 +3770,7 @@ public class StatusBar extends SystemUI implements DemoMode,
                // comes on.
                // comes on.
                mGestureWakeLock.acquire(LAUNCH_TRANSITION_TIMEOUT_MS + 1000L);
                mGestureWakeLock.acquire(LAUNCH_TRANSITION_TIMEOUT_MS + 1000L);
            }
            }
            if (isScreenTurningOnOrOn()) {
            if (isWakingUpOrAwake()) {
                if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Launching camera");
                if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Launching camera");
                if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
                if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
                    mStatusBarKeyguardViewManager.reset(true /* hide */);
                    mStatusBarKeyguardViewManager.reset(true /* hide */);
@@ -3785,7 +3783,7 @@ public class StatusBar extends SystemUI implements DemoMode,
                // incorrectly get notified because of the screen on event (which resumes and pauses
                // incorrectly get notified because of the screen on event (which resumes and pauses
                // some activities)
                // some activities)
                if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Deferring until screen turns on");
                if (DEBUG_CAMERA_LIFT) Slog.d(TAG, "Deferring until screen turns on");
                mLaunchCameraOnScreenTurningOn = true;
                mLaunchCameraWhenFinishedWaking = true;
            }
            }
        }
        }
    }
    }
@@ -3810,9 +3808,9 @@ public class StatusBar extends SystemUI implements DemoMode,
                == WakefulnessLifecycle.WAKEFULNESS_GOING_TO_SLEEP;
                == WakefulnessLifecycle.WAKEFULNESS_GOING_TO_SLEEP;
    }
    }


    private boolean isScreenTurningOnOrOn() {
    private boolean isWakingUpOrAwake() {
        return mScreenLifecycle.getScreenState() == ScreenLifecycle.SCREEN_TURNING_ON
        return mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_AWAKE
                || mScreenLifecycle.getScreenState() == ScreenLifecycle.SCREEN_ON;
                || mWakefulnessLifecycle.getWakefulness() == WAKEFULNESS_WAKING;
    }
    }


    public void notifyBiometricAuthModeChanged() {
    public void notifyBiometricAuthModeChanged() {
@@ -3844,7 +3842,7 @@ public class StatusBar extends SystemUI implements DemoMode,
            ScrimState state = mStatusBarKeyguardViewManager.bouncerNeedsScrimming()
            ScrimState state = mStatusBarKeyguardViewManager.bouncerNeedsScrimming()
                    ? ScrimState.BOUNCER_SCRIMMED : ScrimState.BOUNCER;
                    ? ScrimState.BOUNCER_SCRIMMED : ScrimState.BOUNCER;
            mScrimController.transitionTo(state);
            mScrimController.transitionTo(state);
        } else if (isInLaunchTransition() || mLaunchCameraOnScreenTurningOn
        } else if (isInLaunchTransition() || mLaunchCameraWhenFinishedWaking
                || launchingAffordanceWithPreview) {
                || launchingAffordanceWithPreview) {
            mScrimController.transitionTo(ScrimState.UNLOCKED, mUnlockScrimCallback);
            mScrimController.transitionTo(ScrimState.UNLOCKED, mUnlockScrimCallback);
        } else if (mBrightnessMirrorVisible) {
        } else if (mBrightnessMirrorVisible) {