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

Commit 48a68999 authored by Stefan Kuhne's avatar Stefan Kuhne Committed by Android Git Automerger
Browse files

am 2a967255: am 11e6fcb5: Merge "Removing screen artifacts afer orientation...

am 2a967255: am 11e6fcb5: Merge "Removing screen artifacts afer orientation change in sleep mode" into mnc-dev

* commit '2a967255':
  Removing screen artifacts afer orientation change in sleep mode
parents c00c36f4 2a967255
Loading
Loading
Loading
Loading
+19 −9
Original line number Diff line number Diff line
@@ -243,7 +243,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    }

    /** Amount of time (in milliseconds) to wait for windows drawn before powering on. */
    static final int WAITING_FOR_DRAWN_TIMEOUT = 1000;
    static final int WAITING_FOR_DRAWN_TIMEOUT = 500;

    /**
     * Lock protecting internal state.  Must not call out into window
@@ -837,12 +837,17 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            return;
        }
        // Could have been invoked due to screen turning on or off or
        //change of the currently visible window's orientation
        // change of the currently visible window's orientation.
        if (localLOGV) Slog.v(TAG, "mScreenOnEarly=" + mScreenOnEarly
                + ", mAwake=" + mAwake + ", mCurrentAppOrientation=" + mCurrentAppOrientation
                + ", mOrientationSensorEnabled=" + mOrientationSensorEnabled);
                + ", mOrientationSensorEnabled=" + mOrientationSensorEnabled
                + ", mKeyguardDrawComplete=" + mKeyguardDrawComplete
                + ", mWindowManagerDrawComplete=" + mWindowManagerDrawComplete);
        boolean disable = true;
        if (mScreenOnEarly && mAwake) {
        // Note: We postpone the rotating of the screen until the keyguard as well as the
        // window manager have reported a draw complete.
        if (mScreenOnEarly && mAwake &&
                mKeyguardDrawComplete && mWindowManagerDrawComplete) {
            if (needSensorRunningLp()) {
                disable = false;
                //enable listener if not already enabled
@@ -5369,7 +5374,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    private void finishKeyguardDrawn() {
        synchronized (mLock) {
            if (!mAwake || mKeyguardDrawComplete) {
                return; // spurious
                return; // We are not awake yet or we have already informed of this event.
            }

            mKeyguardDrawComplete = true;
@@ -5407,18 +5412,18 @@ public class PhoneWindowManager implements WindowManagerPolicy {
            mScreenOnFully = false;
            mWindowManagerDrawComplete = false;
            mScreenOnListener = screenOnListener;
            updateOrientationListenerLp();
        }

        mWindowManagerInternal.waitForAllWindowsDrawn(mWindowManagerDrawCallback,
                WAITING_FOR_DRAWN_TIMEOUT);
        // ... eventually calls finishWindowsDrawn
        // ... eventually calls finishWindowsDrawn which will finalize our screen turn on
        // as well as enabling the orientation change logic/sensor.
    }

    private void finishWindowsDrawn() {
        synchronized (mLock) {
            if (!mScreenOnEarly || mWindowManagerDrawComplete) {
                return; // spurious
                return; // Screen is not turned on or we did already handle this case earlier.
            }

            mWindowManagerDrawComplete = true;
@@ -5428,6 +5433,11 @@ public class PhoneWindowManager implements WindowManagerPolicy {
    }

    private void finishScreenTurningOn() {
        synchronized (mLock) {
            // We have just finished drawing screen content. Since the orientation listener
            // gets only installed when all windows are drawn, we try to install it again.
            updateOrientationListenerLp();
        }
        final ScreenOnListener listener;
        final boolean enableScreen;
        synchronized (mLock) {