Merge "Prevent cancel entering split due to animation got canceled" into tm-qpr-dev

This commit is contained in:
Jerry Chang
2023-02-17 01:30:12 +00:00
committed by Android (Google) Code Review

View File

@@ -499,6 +499,11 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
break;
}
}
} else if (mSideStage.getChildCount() != 0) {
// There are chances the entering app transition got canceled by performing
// rotation transition. Checks if there is any child task existed in split
// screen before fallback to cancel entering flow.
openingToSide = true;
}
if (isEnteringSplit && !openingToSide) {
@@ -515,7 +520,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
}
}
if (!isEnteringSplit && openingToSide) {
if (!isEnteringSplit && apps != null) {
final WindowContainerTransaction evictWct = new WindowContainerTransaction();
prepareEvictNonOpeningChildTasks(position, apps, evictWct);
mSyncQueue.queue(evictWct);
@@ -598,6 +603,11 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
break;
}
}
} else if (mSideStage.getChildCount() != 0) {
// There are chances the entering app transition got canceled by performing
// rotation transition. Checks if there is any child task existed in split
// screen before fallback to cancel entering flow.
openingToSide = true;
}
if (isEnteringSplit && !openingToSide && apps != null) {
@@ -624,7 +634,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
}
if (!isEnteringSplit && openingToSide) {
if (!isEnteringSplit && apps != null) {
final WindowContainerTransaction evictWct = new WindowContainerTransaction();
prepareEvictNonOpeningChildTasks(position, apps, evictWct);
mSyncQueue.queue(evictWct);