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

Commit 187565c2 authored by Jerry Chang's avatar Jerry Chang Committed by Android (Google) Code Review
Browse files

Merge "Fix unexpectedly dismiss split by dragging the same app to the same side" into tm-qpr-dev

parents 4d3d9d5e d6d9627c
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();