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

Commit 7c59960a authored by Winson Chung's avatar Winson Chung Committed by Automerger Merge Worker
Browse files

Merge "Don't copy null surface control and remove lingering references to...

Merge "Don't copy null surface control and remove lingering references to leashes" into tm-qpr-dev am: 7411c42f am: 9965ae15

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



Change-Id: I0bd8cff8a980b78a5282cc3a4ad4cbfda116a13a
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 38ca8176 9965ae15
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -85,6 +85,8 @@ public class RootDisplayAreaOrganizer extends DisplayAreaOrganizer {
        }

        mDisplayAreasInfo.remove(displayId);
        mLeashes.get(displayId).release();
        mLeashes.remove(displayId);
    }

    @Override
+6 −1
Original line number Diff line number Diff line
@@ -530,7 +530,8 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
            }

            final int taskId = taskInfo.taskId;
            final TaskListener listener = getTaskListener(mTasks.get(taskId).getTaskInfo());
            final TaskAppearedInfo appearedInfo = mTasks.get(taskId);
            final TaskListener listener = getTaskListener(appearedInfo.getTaskInfo());
            mTasks.remove(taskId);
            if (listener != null) {
                listener.onTaskVanished(taskInfo);
@@ -540,6 +541,10 @@ public class ShellTaskOrganizer extends TaskOrganizer implements
            notifyCompatUI(taskInfo, null /* taskListener */);
            // Notify the recent tasks that a task has been removed
            mRecentTasks.ifPresent(recentTasks -> recentTasks.onTaskRemoved(taskInfo));

            if (appearedInfo.getLeash() != null) {
                appearedInfo.getLeash().release();
            }
        }
    }

+3 −2
Original line number Diff line number Diff line
@@ -128,9 +128,10 @@ class HideDisplayCutoutOrganizer extends DisplayAreaOrganizer {

            final WindowContainerTransaction wct = new WindowContainerTransaction();
            final SurfaceControl.Transaction t = new SurfaceControl.Transaction();
            applyBoundsAndOffsets(
                    displayAreaInfo.token, mDisplayAreaMap.get(displayAreaInfo.token), wct, t);
            final SurfaceControl leash = mDisplayAreaMap.get(displayAreaInfo.token);
            applyBoundsAndOffsets(displayAreaInfo.token, leash, wct, t);
            applyTransaction(wct, t);
            leash.release();
            mDisplayAreaMap.remove(displayAreaInfo.token);
        }
    }
+4 −0
Original line number Diff line number Diff line
@@ -159,6 +159,10 @@ public class OneHandedDisplayAreaOrganizer extends DisplayAreaOrganizer {

    @Override
    public void onDisplayAreaVanished(@NonNull DisplayAreaInfo displayAreaInfo) {
        final SurfaceControl leash = mDisplayAreaTokenMap.get(displayAreaInfo.token);
        if (leash != null) {
            leash.release();
        }
        mDisplayAreaTokenMap.remove(displayAreaInfo.token);
    }

+1 −0
Original line number Diff line number Diff line
@@ -943,6 +943,7 @@ public class PipTaskOrganizer implements ShellTaskOrganizer.TaskListener,
        mPipBoundsState.setBounds(new Rect());
        mPipUiEventLoggerLogger.setTaskInfo(null);
        mMainExecutor.executeDelayed(() -> mPipMenuController.detach(), 0);
        mLeash = null;

        if (info.displayId != Display.DEFAULT_DISPLAY && mOnDisplayIdChangeCallback != null) {
            mOnDisplayIdChangeCallback.accept(Display.DEFAULT_DISPLAY);
Loading