Commits

Filip Gruszczynski authored d66af6a6553
Don't perform layout while adjusting displays/stacks state. When we detach the stack from the display we are in an inconsistent state. We need to finish that operation, before we start laying out things again. Otherwise we will encounter subtle bugs, where stack is partially closed, but still used during the layout. Display detachment was already doing the right thing and scheduling a layout after it finishes the display detach. However, removing the stack's windows was triggering immediate relayout and causing a crash. This CL also adds some missing synchronization around WindowManagerService.mStackIdToStack, which is in most cases protected by mWindowMap. Bug: 22191609 Bug: 23615329 Change-Id: I1e2fc42e1a5b673be808acdec473f85f138d7062