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

Commit 736901f0 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "ContentRecorder: fix NPE problem to avoid crash when start recording."...

Merge "ContentRecorder: fix NPE problem to avoid crash when start recording." into main am: 978dbf9c

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3418419



Change-Id: I55a8df33d5d913c8f06ac1a77dadd9a026cdf08c
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 6087effc 978dbf9c
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -350,6 +350,15 @@ final class ContentRecorder implements WindowContainerListener {
            return;
        }

        final SurfaceControl sourceSurface = mRecordedWindowContainer.getSurfaceControl();
        if (sourceSurface == null || !sourceSurface.isValid()) {
            ProtoLog.v(WM_DEBUG_CONTENT_RECORDING,
                    "Content Recording: Unable to start recording for display %d since the "
                            + "surface is null or have been released.",
                    mDisplayContent.getDisplayId());
            return;
        }

        final int contentToRecord = mContentRecordingSession.getContentToRecord();

        // TODO(b/297514518) Do not start capture if the app is in PIP, the bounds are inaccurate.
@@ -377,8 +386,7 @@ final class ContentRecorder implements WindowContainerListener {
                mDisplayContent.getDisplayId(), mDisplayContent.getDisplayInfo().state);

        // Create a mirrored hierarchy for the SurfaceControl of the DisplayArea to capture.
        mRecordedSurface = SurfaceControl.mirrorSurface(
                mRecordedWindowContainer.getSurfaceControl());
        mRecordedSurface = SurfaceControl.mirrorSurface(sourceSurface);
        SurfaceControl.Transaction transaction =
                mDisplayContent.mWmService.mTransactionFactory.get()
                        // Set the mMirroredSurface's parent to the root SurfaceControl for this