OSDN Git Service

Do not return stacks to AM that are marked for deferred removal.
authorBryce Lee <brycelee@google.com>
Wed, 31 Jan 2018 22:42:15 +0000 (14:42 -0800)
committerBryce Lee <brycelee@google.com>
Thu, 1 Feb 2018 19:22:24 +0000 (11:22 -0800)
commitaea60d2f55dc71ec05c4bd2636e25f2dd7d0bf12
tree932a5ad3732c6592a30da8f0d4d50536115c001a
parentdd020f6fb9d5037b7560c148b08f46d599851191
Do not return stacks to AM that are marked for deferred removal.

When the Activity Manager informs the Window Manager that a stack has
been removed, it can opt to hold onto the stack (such as when an
animation is in progress). This can lead to inconsistencies where the
Window Manager can report a stack back to the Activity Manager that
has since been removed.

This changelist addresses one such call point in
WindowManagerService#setNewDisplayOverrideConfiguration. Deferred
removed displays are now filtered out of the returned list.

Change-Id: I5f7aad9296cec8bd56e933a71553f9cd40579378
Fixes: 71548119
Test: atest FrameworksServicesTests:com.android.server.wm.RootWindowContainerTests
services/core/java/com/android/server/wm/DisplayContent.java
services/core/java/com/android/server/wm/RootWindowContainer.java
services/core/java/com/android/server/wm/WindowManagerService.java
services/tests/servicestests/src/com/android/server/wm/RootWindowContainerTests.java [new file with mode: 0644]