Stop keeping freeform activities visible.

This logic was introduced when there could be multiple tasks in the
freeform stack so it was necessary to keep freeform tasks visible even
when they are not in the front. However right now stack and task are the
same so activities became the children of the original stack, and we
don't have the need to keep activities behind the top activity always
visible.

Bug: 161366153
Bug: 166012554
Bug: 167751180
Test: atest ActivityVisibilityTests#testConvert* on freeform first
      devices.
Change-Id: Ibeeba5ca8b6b60583eec9cbee9b7209ee17b1037
Merged-In: Ibeeba5ca8b6b60583eec9cbee9b7209ee17b1037
This commit is contained in:
Garfield Tan
2020-07-23 10:56:06 -07:00
parent 1839f9f7f8
commit 1bb6900a61

View File

@@ -16,8 +16,6 @@
package com.android.server.wm;
import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
import static com.android.server.wm.ActivityStack.TAG_VISIBILITY;
import static com.android.server.wm.ActivityTaskManagerDebugConfig.DEBUG_VISIBILITY;
@@ -174,12 +172,7 @@ class EnsureActivitiesVisibleHelper {
}
final int windowingMode = mContiner.getWindowingMode();
if (windowingMode == WINDOWING_MODE_FREEFORM) {
// The visibility of tasks and the activities they contain in freeform stack are
// determined individually unlike other stacks where the visibility or fullscreen
// status of an activity in a previous task affects other.
mBehindFullscreenActivity = !mContainerShouldBeVisible;
} else if (!mBehindFullscreenActivity && mContiner.isActivityTypeHome()
if (!mBehindFullscreenActivity && mContiner.isActivityTypeHome()
&& r.isRootOfTask()) {
if (DEBUG_VISIBILITY) Slog.v(TAG_VISIBILITY, "Home task: at " + mContiner
+ " stackShouldBeVisible=" + mContainerShouldBeVisible