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

Commit fd2b0fad 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

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



Change-Id: If276ebadb2562b534c477d4f12268bfb0b6fb2aa
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 3f8d75d4 187565c2
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();