OSDN Git Service

Fix a flicker when window is removed during entering animation
authorChong Zhang <chz@google.com>
Wed, 4 May 2016 22:08:18 +0000 (15:08 -0700)
committerChong Zhang <chz@google.com>
Thu, 12 May 2016 23:58:01 +0000 (16:58 -0700)
commit8e4bda9e0f7411a3bfad0c625177f67248ff8a12
tree3e10892918ccea5f3dbb0926051fac6c40ac8202
parenta63e1325b595d84dea7d33cb2e2c149acb326204
Fix a flicker when window is removed during entering animation

When animation is started with saved surfaces, app may decide to
remove one of the child windows during early animation and replace
it with a new window. This causes the app below (usually Recents)
to show through for one or more frames.

If we started animation early with a window, delay removal of
that window until the app is allDrawn in the "traditional sense"
(i.e. allDrawn without using any saved surfaces).

bug: 28742353
Change-Id: I4ef663a947b737aae96c3ccfe13a9f4c1d0567f0
services/core/java/com/android/server/wm/AppWindowToken.java
services/core/java/com/android/server/wm/WindowAnimator.java
services/core/java/com/android/server/wm/WindowManagerService.java
services/core/java/com/android/server/wm/WindowState.java
services/core/java/com/android/server/wm/WindowSurfacePlacer.java