From 33efd883cd4b1866df8cf3d20923c8905c944b4b Mon Sep 17 00:00:00 2001 From: Louis Chang Date: Wed, 22 Sep 2021 15:44:26 +0800 Subject: [PATCH] TaskFragment without running activity cannot occlude others A TaskFragment that doesn't contain any running activity should not occlude the activities behind. Bug: 200316506 Test: TaskFragmentOrganizerTest Change-Id: I64823680e8adc04f506410aa051bbfe5989cfbaf --- .../com/android/server/wm/EnsureActivitiesVisibleHelper.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java index fed4f6205a3b9..852a6583b6800 100644 --- a/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java +++ b/services/core/java/com/android/server/wm/EnsureActivitiesVisibleHelper.java @@ -107,8 +107,9 @@ class EnsureActivitiesVisibleHelper { final TaskFragment childTaskFragment = child.asTaskFragment(); childTaskFragment.updateActivityVisibilities(starting, configChanges, preserveWindows, notifyClients); - mBehindFullyOccludedContainer |= childTaskFragment.getBounds().equals( - mTaskFragment.getBounds()); + mBehindFullyOccludedContainer |= + childTaskFragment.topRunningActivity() != null + && childTaskFragment.getBounds().equals(mTaskFragment.getBounds()); if (mAboveTop && mTop.getTaskFragment() == childTaskFragment) { mAboveTop = false; }