Loading services/core/java/com/android/server/wm/WindowManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -3081,6 +3081,9 @@ public class WindowManagerService extends IWindowManager.Stub if (oldVisibility == View.GONE) { winAnimator.mEnterAnimationPending = true; } win.mLastVisibleLayoutRotation = mRotation; winAnimator.mEnteringAnimation = true; if ((result & WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME) != 0) { win.prepareWindowToDisplayDuringRelayout(outConfig); Loading services/core/java/com/android/server/wm/WindowState.java +19 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,13 @@ final class WindowState implements WindowManagerPolicy.WindowState { */ boolean mOrientationChanging; /** * The orientation during the last visible call to relayout. If our * current orientation is different, the window can't be ready * to be shown. */ int mLastVisibleLayoutRotation = -1; /** * How long we last kept the screen frozen. */ Loading Loading @@ -2095,6 +2102,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { Slog.v(TAG, "Destroying saved surface: " + this); } mWinAnimator.destroySurfaceLocked(); mSurfaceSaved = false; } mWasVisibleBeforeClientHidden = false; } Loading @@ -2103,7 +2111,18 @@ final class WindowState implements WindowManagerPolicy.WindowState { if (!mSurfaceSaved) { return; } // Sometimes we save surfaces due to layout invisible // directly after rotation occurs. However this means // the surface was never laid out in the new orientation. // We can only restore to the last rotation we were // laid out as visible in. if (mLastVisibleLayoutRotation != mService.mRotation) { destroySavedSurface(); return; } mSurfaceSaved = false; if (mWinAnimator.mSurfaceController != null) { setHasSurface(true); mWinAnimator.mDrawState = WindowStateAnimator.READY_TO_SHOW; Loading Loading
services/core/java/com/android/server/wm/WindowManagerService.java +3 −0 Original line number Diff line number Diff line Loading @@ -3081,6 +3081,9 @@ public class WindowManagerService extends IWindowManager.Stub if (oldVisibility == View.GONE) { winAnimator.mEnterAnimationPending = true; } win.mLastVisibleLayoutRotation = mRotation; winAnimator.mEnteringAnimation = true; if ((result & WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME) != 0) { win.prepareWindowToDisplayDuringRelayout(outConfig); Loading
services/core/java/com/android/server/wm/WindowState.java +19 −0 Original line number Diff line number Diff line Loading @@ -394,6 +394,13 @@ final class WindowState implements WindowManagerPolicy.WindowState { */ boolean mOrientationChanging; /** * The orientation during the last visible call to relayout. If our * current orientation is different, the window can't be ready * to be shown. */ int mLastVisibleLayoutRotation = -1; /** * How long we last kept the screen frozen. */ Loading Loading @@ -2095,6 +2102,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { Slog.v(TAG, "Destroying saved surface: " + this); } mWinAnimator.destroySurfaceLocked(); mSurfaceSaved = false; } mWasVisibleBeforeClientHidden = false; } Loading @@ -2103,7 +2111,18 @@ final class WindowState implements WindowManagerPolicy.WindowState { if (!mSurfaceSaved) { return; } // Sometimes we save surfaces due to layout invisible // directly after rotation occurs. However this means // the surface was never laid out in the new orientation. // We can only restore to the last rotation we were // laid out as visible in. if (mLastVisibleLayoutRotation != mService.mRotation) { destroySavedSurface(); return; } mSurfaceSaved = false; if (mWinAnimator.mSurfaceController != null) { setHasSurface(true); mWinAnimator.mDrawState = WindowStateAnimator.READY_TO_SHOW; Loading