Merge "Move call to captureDisplay outside of the synchronized block." into tm-dev

This commit is contained in:
TreeHugger Robot
2022-04-01 18:38:45 +00:00
committed by Android (Google) Code Review

View File

@@ -2084,6 +2084,7 @@ public final class DisplayManagerService extends SystemService {
} }
private SurfaceControl.ScreenshotHardwareBuffer systemScreenshotInternal(int displayId) { private SurfaceControl.ScreenshotHardwareBuffer systemScreenshotInternal(int displayId) {
final SurfaceControl.DisplayCaptureArgs captureArgs;
synchronized (mSyncRoot) { synchronized (mSyncRoot) {
final IBinder token = getDisplayToken(displayId); final IBinder token = getDisplayToken(displayId);
if (token == null) { if (token == null) {
@@ -2095,15 +2096,14 @@ public final class DisplayManagerService extends SystemService {
} }
final DisplayInfo displayInfo = logicalDisplay.getDisplayInfoLocked(); final DisplayInfo displayInfo = logicalDisplay.getDisplayInfoLocked();
final SurfaceControl.DisplayCaptureArgs captureArgs = captureArgs = new SurfaceControl.DisplayCaptureArgs.Builder(token)
new SurfaceControl.DisplayCaptureArgs.Builder(token) .setSize(displayInfo.getNaturalWidth(), displayInfo.getNaturalHeight())
.setSize(displayInfo.getNaturalWidth(), displayInfo.getNaturalHeight()) .setUseIdentityTransform(true)
.setUseIdentityTransform(true) .setCaptureSecureLayers(true)
.setCaptureSecureLayers(true) .setAllowProtected(true)
.setAllowProtected(true) .build();
.build();
return SurfaceControl.captureDisplay(captureArgs);
} }
return SurfaceControl.captureDisplay(captureArgs);
} }
private SurfaceControl.ScreenshotHardwareBuffer userScreenshotInternal(int displayId) { private SurfaceControl.ScreenshotHardwareBuffer userScreenshotInternal(int displayId) {