From be242f468458ca83b4ca0e131e46f725d6105d79 Mon Sep 17 00:00:00 2001 From: Chris Li Date: Tue, 11 Jan 2022 13:39:55 +0800 Subject: [PATCH] Active container should contain non-finishing activity Without this cl, the app will crash if a TaskFragment is closing when the new top TaskFragment doesn't contain any non-finishing activity (which should be closed later as well). Before, when #cleanupContainer(), we will also update the new top active container, but we didn't check if it contain any non finishing activity. Fix: 212355346 Test: test with Settings with three finger click Change-Id: I26538b85f1cf8e618a3f1ee6abada5a9f77f2b16 --- .../androidx/window/extensions/embedding/SplitController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java index b8e8b0114b472..ed5f706618adf 100644 --- a/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java +++ b/libs/WindowManager/Jetpack/src/androidx/window/extensions/embedding/SplitController.java @@ -346,7 +346,7 @@ public class SplitController implements JetpackTaskFragmentOrganizer.TaskFragmen TaskFragmentContainer getTopActiveContainer() { for (int i = mContainers.size() - 1; i >= 0; i--) { TaskFragmentContainer container = mContainers.get(i); - if (!container.isFinished()) { + if (!container.isFinished() && container.getTopNonFinishingActivity() != null) { return container; } }