Loading services/core/java/com/android/server/wm/DisplayContent.java +12 −1 Original line number Diff line number Diff line Loading @@ -400,6 +400,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo private MagnificationSpec mMagnificationSpec; /** Caches the value whether told display manager that we have content. */ private boolean mLastHasContent; private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> { WindowStateAnimator winAnimator = w.mWinAnimator; final AppWindowToken atoken = w.mAppToken; Loading Loading @@ -2916,8 +2919,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo forAllWindows(mApplySurfaceChangesTransaction, true /* traverseTopToBottom */); prepareSurfaces(); mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent; mService.mDisplayManagerInternal.setDisplayProperties(mDisplayId, mTmpApplySurfaceChangesTransactionState.displayHasContent, mLastHasContent, mTmpApplySurfaceChangesTransactionState.preferredRefreshRate, mTmpApplySurfaceChangesTransactionState.preferredModeId, true /* inTraversal, must call performTraversalInTrans... below */); Loading Loading @@ -4052,4 +4056,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo private boolean canUpdateImeTarget() { return mDeferUpdateImeTargetCount == 0; } /** * @return Cached value whether we told display manager that we have content. */ boolean getLastHasContent() { return mLastHasContent; } } services/core/java/com/android/server/wm/WindowStateAnimator.java +11 −9 Original line number Diff line number Diff line Loading @@ -1185,6 +1185,7 @@ class WindowStateAnimator { if (mIsWallpaper) { w.dispatchWallpaperVisibility(true); } if (!w.getDisplayContent().getLastHasContent()) { // This draw means the difference between unique content and mirroring. // Run another pass through performLayout to set mHasContent in the // LogicalDisplay. Loading @@ -1195,6 +1196,7 @@ class WindowStateAnimator { "showSurfaceRobustlyLocked " + w, mAnimator.getPendingLayoutChanges(w.getDisplayId())); } } } else { w.setOrientationChanging(false); } Loading Loading
services/core/java/com/android/server/wm/DisplayContent.java +12 −1 Original line number Diff line number Diff line Loading @@ -400,6 +400,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo private MagnificationSpec mMagnificationSpec; /** Caches the value whether told display manager that we have content. */ private boolean mLastHasContent; private final Consumer<WindowState> mUpdateWindowsForAnimator = w -> { WindowStateAnimator winAnimator = w.mWinAnimator; final AppWindowToken atoken = w.mAppToken; Loading Loading @@ -2916,8 +2919,9 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo forAllWindows(mApplySurfaceChangesTransaction, true /* traverseTopToBottom */); prepareSurfaces(); mLastHasContent = mTmpApplySurfaceChangesTransactionState.displayHasContent; mService.mDisplayManagerInternal.setDisplayProperties(mDisplayId, mTmpApplySurfaceChangesTransactionState.displayHasContent, mLastHasContent, mTmpApplySurfaceChangesTransactionState.preferredRefreshRate, mTmpApplySurfaceChangesTransactionState.preferredModeId, true /* inTraversal, must call performTraversalInTrans... below */); Loading Loading @@ -4052,4 +4056,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo private boolean canUpdateImeTarget() { return mDeferUpdateImeTargetCount == 0; } /** * @return Cached value whether we told display manager that we have content. */ boolean getLastHasContent() { return mLastHasContent; } }
services/core/java/com/android/server/wm/WindowStateAnimator.java +11 −9 Original line number Diff line number Diff line Loading @@ -1185,6 +1185,7 @@ class WindowStateAnimator { if (mIsWallpaper) { w.dispatchWallpaperVisibility(true); } if (!w.getDisplayContent().getLastHasContent()) { // This draw means the difference between unique content and mirroring. // Run another pass through performLayout to set mHasContent in the // LogicalDisplay. Loading @@ -1195,6 +1196,7 @@ class WindowStateAnimator { "showSurfaceRobustlyLocked " + w, mAnimator.getPendingLayoutChanges(w.getDisplayId())); } } } else { w.setOrientationChanging(false); } Loading