diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/Transition.java | 4 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowToken.java | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 93db1caf5fdf..7d65c61193b5 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -3321,8 +3321,8 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { mFrozen.add(wc); final ChangeInfo changeInfo = Objects.requireNonNull(mChanges.get(wc)); changeInfo.mSnapshot = snapshotSurface; - if (isDisplayRotation) { - // This isn't cheap, so only do it for display rotations. + if (changeInfo.mRotation != wc.mDisplayContent.getRotation()) { + // This isn't cheap, so only do it for rotation change. changeInfo.mSnapshotLuma = TransitionAnimation.getBorderLuma( buffer, screenshotBuffer.getColorSpace()); } diff --git a/services/core/java/com/android/server/wm/WindowToken.java b/services/core/java/com/android/server/wm/WindowToken.java index e434f296bbb5..7d21dbf85a66 100644 --- a/services/core/java/com/android/server/wm/WindowToken.java +++ b/services/core/java/com/android/server/wm/WindowToken.java @@ -569,6 +569,7 @@ class WindowToken extends WindowContainer<WindowState> { && asActivityRecord() != null && isVisible()) { // Trigger an activity level rotation transition. mTransitionController.requestTransitionIfNeeded(WindowManager.TRANSIT_CHANGE, this); + mTransitionController.collectVisibleChange(this); mTransitionController.setReady(this); } final int originalRotation = getWindowConfiguration().getRotation(); |