From 1cfcdf7bc963e8a34cac1d5b46fcbf78cb5108b8 Mon Sep 17 00:00:00 2001 From: Jeff Chang Date: Fri, 3 Jul 2020 20:14:02 +0800 Subject: [PATCH] Fix stack reference is not updated when task organizer is dead. The Task Organizer controller handles the binder dead when SystemUI crashed. mTaskOrganizer was assigned to null first and then removes the related child. But the stack reference is not updated if taskOrgainzer is null. The invalid home task is referenced when we start the launcher. This CL updates the condition to make sure the stack references are updated. Bug: 158756447 Test: 1. Setup the split-screen. 2. Press power key to show Lock-screen 3. Kill the systemUI process 4. Unlock and resume to the launcher. Change-Id: I5c3f03c4d7fecab6e812dfba6823d79d844d6a26 --- services/core/java/com/android/server/wm/Task.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index c664a841fc1fc..6785127d59535 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -1423,7 +1423,7 @@ class Task extends WindowContainer { void removeChild(WindowContainer r, String reason) { // A rootable child task that is now being removed from an organized task. Making sure // the stack references is keep updated. - if (mTaskOrganizer != null && mCreatedByOrganizer && r.asTask() != null) { + if (mCreatedByOrganizer && r.asTask() != null) { getDisplayArea().removeStackReferenceIfNeeded((ActivityStack) r); } if (!mChildren.contains(r)) {