Skip to content
Commit a5d070e6 authored by Louis Chang's avatar Louis Chang
Browse files

Fix ReplaceWindowTests#testReplaceWindow_Dock_Relaunch() failure

Window was destroyed and added back when activity relaunched while
being moved from fullscreen stack to split-screen primary stack.
The activity window was recreated during the relaunch process
because RAC#ensureActivitiesVisible() executed recursively and
the inner calls override the setting to not preserve windows.

Avoid running RAC#ensureActivitiesVisible() recursively.

RootActivityContainer#ensureActivitiesVisible()
RootActivityContainer#ensureActivitiesVisible(preserveWindows=false)
ActivityTaskManagerService#ensureConfigAndVisibilityAfterUpdate()
ActivityDisplay#updateDisplayOverrideConfigurationLocked()
RootActivityContainer#ensureVisibilityAndConfig()
ActivityStack#resumeTopActivityInnerLocked()
ActivityStack#resumeTopActivityUncheckedLocked()
ActivityRecord#makeActiveIfNeeded()
ActivityRecord#makeClientVisible()
ActivityRecord#makeVisibleIfNeeded()
ActivityStack#ensureActivitiesVisibleLocked()
ActivityDisplay#ensureActivitiesVisible()
RootActivityContainer#ensureActivitiesVisible()
RootActivityContainer#ensureActivitiesVisible(preserveWindows=true)
ActivityStack#setWindowingModeInSurfaceTransaction()
ActivityStack#lambda$setWindowingMode$0$ActivityStack()
WindowManagerService#inSurfaceTransaction()
ActivityStack#setWindowingMode()
ActivityTaskManagerService#setTaskWindowingModeSplitScreenPrimary()
ActivityTaskManagerService#setTaskWindowingMode()

Bug: 137232340
Test: atest ReplaceWindowTests
Change-Id: I8243a49edf8314100e13d3a15b961e3d768f6364
parent fe0dfcbe
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment