Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4437460 authored by Tyler Lacey's avatar Tyler Lacey
Browse files

Fix captureTaskBitmap for tasks not positioned at top-left of screen.

Bug: 221442494
Test: Manual testing
Change-Id: I4c570d7f62293f22b60b981120888e9638a14654
parent cf7ce086
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -3920,7 +3920,13 @@ public class WindowManagerService extends IWindowManager.Stub
                return null;
            }

            // The bounds returned by the task represent the task's position on the screen. However,
            // we need to specify a crop relative to the task's surface control. Therefore, shift
            // the task's bounds to 0,0 so that we have the correct size and position within the
            // task's surface control.
            task.getBounds(mTmpRect);
            mTmpRect.offsetTo(0, 0);

            final SurfaceControl sc = task.getSurfaceControl();
            final SurfaceControl.ScreenshotHardwareBuffer buffer = SurfaceControl.captureLayers(
                    layerCaptureArgsBuilder.setLayer(sc).setSourceCrop(mTmpRect).build());