From a4b48f4da8035b5a8671df2cf715863612498516 Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Wed, 21 Dec 2022 07:59:56 +0000 Subject: [PATCH] Initialize Task surface as invisible While app cold launch and combine to split, sometimes race happend and cause child task surface still hidden. Fix this issue by initializing task as invisible so it would not set surface as hide when first prepareSurface. Fix: 262478804 Test: manual Test: pass existing tests Change-Id: Iaa93fee162fc8bc4b60aac9ff8faea6943cd01d5 --- services/core/java/com/android/server/wm/Task.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index ea6f2442a9197..7d59947123bac 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -609,7 +609,7 @@ class Task extends TaskFragment { */ ActivityRecord mChildPipActivity; - boolean mLastSurfaceShowing = true; + boolean mLastSurfaceShowing; /** * Tracks if a back gesture is in progress. @@ -4170,13 +4170,7 @@ class Task extends TaskFragment { @Override boolean showSurfaceOnCreation() { - if (mCreatedByOrganizer) { - // Tasks created by the organizer are default visible because they can synchronously - // update the leash before new children are added to the task. - return true; - } - // Organized tasks handle their own surface visibility - return !canBeOrganized(); + return false; } @Override