Use task bounds when drawing app theme snapshot

Otherwise the buffer we draw isn't really consistent with the
normal case, where we always create a buffer the size of the task.

Test: Quick switch with Camera
Fixes: 130020567
Change-Id: I222ec7e6d3112384d0981519b39be951ea855c1c
This commit is contained in:
Jorim Jaggi
2019-06-13 16:22:35 +02:00
committed by Winson Chung
parent 471a664375
commit 2be23a9fdf

View File

@@ -379,8 +379,8 @@ class TaskSnapshotController {
final LayoutParams attrs = mainWindow.getAttrs();
final SystemBarBackgroundPainter decorPainter = new SystemBarBackgroundPainter(attrs.flags,
attrs.privateFlags, attrs.systemUiVisibility, task.getTaskDescription());
final int width = mainWindow.getFrameLw().width();
final int height = mainWindow.getFrameLw().height();
final int width = task.getBounds().width();
final int height = task.getBounds().height();
final RenderNode node = RenderNode.create("TaskSnapshotController", null);
node.setLeftTopRightBottom(0, 0, width, height);
@@ -398,7 +398,7 @@ class TaskSnapshotController {
// color above
return new TaskSnapshot(topChild.mActivityComponent, hwBitmap.createGraphicBufferHandle(),
hwBitmap.getColorSpace(), topChild.getConfiguration().orientation,
mainWindow.getStableInsets(), ActivityManager.isLowRamDeviceStatic() /* reduced */,
getInsets(mainWindow), ActivityManager.isLowRamDeviceStatic() /* reduced */,
1.0f /* scale */, false /* isRealSnapshot */, task.getWindowingMode(),
getSystemUiVisibility(task), false);
}