Merge "Fix wrong split layout after drag drop" into tm-qpr-dev am: 99933f97b6

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

Change-Id: Iab418d839e924cffd3b82408f588a345e833b20f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tony Huang
2022-07-27 05:52:48 +00:00
committed by Automerger Merge Worker
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);