From 8fb82cdb5df3fa7ae0cce426ed894e830bd9c95d Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Wed, 1 Jun 2022 16:30:44 +0800 Subject: [PATCH] Fix split root removed accidentally While handleStartResult, if it start unsucessful, the root task might be remove and cause split root removed accidentally. It will cause crash next time active split screen. We should avoid the task removed here if it is creadted by organizer. Bug: 234406935 Test: manual Test: pass existing tests Change-Id: I383682625fa0b90ec8d59873f813ed46162eef12 --- services/core/java/com/android/server/wm/ActivityStarter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java index f4aafe096f378..b744faedc23ca 100644 --- a/services/core/java/com/android/server/wm/ActivityStarter.java +++ b/services/core/java/com/android/server/wm/ActivityStarter.java @@ -89,7 +89,6 @@ import android.app.PendingIntent; import android.app.ProfilerInfo; import android.app.WaitResult; import android.app.WindowConfiguration; -import android.app.compat.CompatChanges; import android.compat.annotation.ChangeId; import android.compat.annotation.EnabledSince; import android.content.ComponentName; @@ -1693,7 +1692,8 @@ class ActivityStarter { // Root task should also be detached from display and be removed if it's empty. if (startedActivityRootTask != null && startedActivityRootTask.isAttached() && !startedActivityRootTask.hasActivity() - && !startedActivityRootTask.isActivityTypeHome()) { + && !startedActivityRootTask.isActivityTypeHome() + && !startedActivityRootTask.mCreatedByOrganizer) { startedActivityRootTask.removeIfPossible("handleStartResult"); } if (newTransition != null) {