Crop windowing layer to that of display size in screen rotation animation
* Wallpaper is larger than display bounds, so rotating launcher or other apps that are not opaque will show the wallpaper in background Bug: 222632469 Change-Id: I1b23e1da0d8acffdbe7245030095a029e314af0f
This commit is contained in:
@@ -600,7 +600,7 @@ class ScreenRotationAnimation {
|
||||
}
|
||||
|
||||
private SurfaceAnimator startDisplayRotation() {
|
||||
return startAnimation(initializeBuilder()
|
||||
SurfaceAnimator animator = startAnimation(initializeBuilder()
|
||||
.setAnimationLeashParent(mDisplayContent.getSurfaceControl())
|
||||
.setSurfaceControl(mDisplayContent.getWindowingLayer())
|
||||
.setParentSurfaceControl(mDisplayContent.getSurfaceControl())
|
||||
@@ -609,6 +609,13 @@ class ScreenRotationAnimation {
|
||||
.build(),
|
||||
createWindowAnimationSpec(mRotateEnterAnimation),
|
||||
this::onAnimationEnd);
|
||||
|
||||
// Crop the animation leash to avoid extended wallpaper from showing over
|
||||
// mBackColorSurface
|
||||
Rect displayBounds = mDisplayContent.getBounds();
|
||||
mDisplayContent.getPendingTransaction()
|
||||
.setWindowCrop(animator.mLeash, displayBounds.width(), displayBounds.height());
|
||||
return animator;
|
||||
}
|
||||
|
||||
private SurfaceAnimator startScreenshotAlphaAnimation() {
|
||||
|
||||
Reference in New Issue
Block a user