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

Commit 54e9ade8 authored by Jerry Chang's avatar Jerry Chang Committed by Automerger Merge Worker
Browse files

Merge "Fix unexpectedly dismiss split by dragging the same app to the same...

Merge "Fix unexpectedly dismiss split by dragging the same app to the same side" into tm-qpr-dev am: 187565c2 am: fd2b0fad

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



Change-Id: I5525c2eb8f376b8da9b9c9b925004c54c447da61
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents e8b2569d fd2b0fad
Loading
Loading
Loading
Loading
+19 −17
Original line number Diff line number Diff line
@@ -456,8 +456,6 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
    void startIntentLegacy(PendingIntent intent, Intent fillInIntent, @SplitPosition int position,
            @Nullable Bundle options) {
        final boolean isEnteringSplit = !isSplitActive();
        final WindowContainerTransaction evictWct = new WindowContainerTransaction();
        prepareEvictChildTasks(position, evictWct);

        LegacyTransitions.ILegacyTransition transition = new LegacyTransitions.ILegacyTransition() {
            @Override
@@ -465,7 +463,6 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
                    RemoteAnimationTarget[] wallpapers, RemoteAnimationTarget[] nonApps,
                    IRemoteAnimationFinishedCallback finishedCallback,
                    SurfaceControl.Transaction t) {
                if (isEnteringSplit) {
                boolean openingToSide = false;
                if (apps != null) {
                    for (int i = 0; i < apps.length; ++i) {
@@ -476,12 +473,12 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
                        }
                    }
                }
                    if (!openingToSide) {

                if (isEnteringSplit && !openingToSide) {
                    mMainExecutor.execute(() -> exitSplitScreen(
                            mSideStage.getChildCount() == 0 ? mMainStage : mSideStage,
                            EXIT_REASON_UNKNOWN));
                }
                }

                if (apps != null) {
                    for (int i = 0; i < apps.length; ++i) {
@@ -500,8 +497,13 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
                    }
                }


                if (!isEnteringSplit && openingToSide) {
                    final WindowContainerTransaction evictWct = new WindowContainerTransaction();
                    prepareEvictNonOpeningChildTasks(position, apps, evictWct);
                    mSyncQueue.queue(evictWct);
                }
            }
        };

        final WindowContainerTransaction wct = new WindowContainerTransaction();