From 500f2ea9121a45d37e150d73f78cc2d94ed3aa4f Mon Sep 17 00:00:00 2001 From: Jeff Chang Date: Tue, 13 Sep 2022 21:33:30 +0800 Subject: [PATCH] Make the flingFinishedCallback be executed Exit split if the side stage no longer has children. We should invoke flingFinishedCallback even if there is no need to run animation when fling divider to dismiss. Bug: 244540465 Test: Drag Chrome to create multi-instance in split screen repeatly Change-Id: I101044515c366287e37951a32a1b57618f1c8f3e --- .../src/com/android/wm/shell/common/split/SplitLayout.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java index 4c85d2090ec53..419e62daf586a 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/common/split/SplitLayout.java @@ -561,6 +561,10 @@ public final class SplitLayout implements DisplayInsetsController.OnInsetsChange if (from == to) { // No animation run, still callback to stop resizing. mSplitLayoutHandler.onLayoutSizeChanged(this); + + if (flingFinishedCallback != null) { + flingFinishedCallback.run(); + } InteractionJankMonitorUtils.endTracing( CUJ_SPLIT_SCREEN_RESIZE); return;