Merge "Fix wrong split layout after drag drop" into tm-qpr-dev

This commit is contained in:
Tony Huang
2022-07-27 05:40:41 +00:00
committed by Android (Google) Code Review
2 changed files with 2 additions and 4 deletions

View File

@@ -398,8 +398,6 @@ public class SplitScreenController implements DragAndDropPolicy.Starter,
return;
}
mStageCoordinator.updateSurfaceBounds(null /* layout */, t,
false /* applyResizingOffset */);
for (int i = 0; i < apps.length; ++i) {
if (apps[i].mode == MODE_OPENING) {
t.show(apps[i].leash);

View File

@@ -1283,7 +1283,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
private void onStageHasChildrenChanged(StageListenerImpl stageListener) {
final boolean hasChildren = stageListener.mHasChildren;
final boolean isSideStage = stageListener == mSideStageListener;
if (!hasChildren && !mIsExiting) {
if (!hasChildren && !mIsExiting && mMainStage.isActive()) {
if (isSideStage && mMainStageListener.mVisible) {
// Exit to main stage if side stage no longer has children.
if (ENABLE_SHELL_TRANSITIONS) {
@@ -1303,7 +1303,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
EXIT_REASON_APP_FINISHED);
}
}
} else if (isSideStage && !mMainStage.isActive()) {
} else if (isSideStage && hasChildren && !mMainStage.isActive()) {
if (mFocusingTaskInfo != null && !isValidToEnterSplitScreen(mFocusingTaskInfo)) {
final WindowContainerTransaction wct = new WindowContainerTransaction();
mSideStage.removeAllTasks(wct, true);