Merge "Support exit to full screen to non-split app" into tm-dev am: af014f9eb6

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

Change-Id: I80b019d33ffd5d7a98a71f88ea8fb0b168d6f13b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Tony Huang
2022-04-29 16:44:13 +00:00
committed by Automerger Merge Worker

View File

@@ -1786,15 +1786,18 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
@Override @Override
public void onNoLongerSupportMultiWindow() { public void onNoLongerSupportMultiWindow() {
if (mMainStage.isActive()) { if (mMainStage.isActive()) {
final boolean isMainStage = mMainStageListener == this;
if (!ENABLE_SHELL_TRANSITIONS) { if (!ENABLE_SHELL_TRANSITIONS) {
StageCoordinator.this.exitSplitScreen(null /* childrenToTop */, StageCoordinator.this.exitSplitScreen(isMainStage ? mMainStage : mSideStage,
EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW); EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW);
return;
} }
final int stageType = isMainStage ? STAGE_TYPE_MAIN : STAGE_TYPE_SIDE;
final WindowContainerTransaction wct = new WindowContainerTransaction(); final WindowContainerTransaction wct = new WindowContainerTransaction();
prepareExitSplitScreen(STAGE_TYPE_UNDEFINED, wct); prepareExitSplitScreen(stageType, wct);
mSplitTransitions.startDismissTransition(null /* transition */, wct, mSplitTransitions.startDismissTransition(null /* transition */, wct,
StageCoordinator.this, STAGE_TYPE_UNDEFINED, StageCoordinator.this, stageType,
EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW); EXIT_REASON_APP_DOES_NOT_SUPPORT_MULTIWINDOW);
} }
} }