From 4182c3cd3ac7436870e00a40d344655cff2d78a2 Mon Sep 17 00:00:00 2001 From: Vinit Nayak Date: Mon, 10 Jun 2024 12:45:09 -0700 Subject: Explicitly update split stage visibility when split breaks on fold * Divider bar was added to recents transition because StageCoordinator was incorrectly reporting split screen as visible after we break split on fold+unlock. * That bad reporting resulted in using a mixed handler for split + recents which then adds the divider bar to the transition. * We correctly receive an onTaskVanished(), however we explicitly prevent a call to sendStatusChanged() if we're using shell transitions, otherwise that may have updated state accordingly Test: Repro doesn't show divider bar Subsequent split creation works as expected Fixes: 328665238 Change-Id: If150e7d6fd3ce58547347fddb3d613911de92568 --- .../Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index 82ef422f829a..1d264781d7b4 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java @@ -1524,6 +1524,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, prepareExitSplitScreen(mTopStageAfterFoldDismiss, wct); mSplitTransitions.startDismissTransition(wct, this, mTopStageAfterFoldDismiss, EXIT_REASON_DEVICE_FOLDED); + setSplitsVisible(false); } else { exitSplitScreen( mTopStageAfterFoldDismiss == STAGE_TYPE_MAIN ? mMainStage : mSideStage, -- cgit v1.2.3-59-g8ed1b