OSDN Git Service

Fix black holes and flickering in docked resizing
authorJorim Jaggi <jjaggi@google.com>
Tue, 3 Nov 2015 11:38:42 +0000 (12:38 +0100)
committerJorim Jaggi <jjaggi@google.com>
Fri, 6 Nov 2015 15:17:14 +0000 (16:17 +0100)
commit253a20fad8703e21c7298fe66e0f3f53d4e63c14
tree4f77c5e2d57ba6953a64e2e4b88867106ffb913b
parent61f39a7b988f6a22681a3f9e0bf8121f72ff88c4
Fix black holes and flickering in docked resizing

When we start a resize with the docked stack divider,
set the surface background to be full-screen, and use
the traditional surface clipping/positioning in window
manager to adjust the size. This ensures that we don't
have any black holes because of asynchronicity (except
at the very beginning, but this can be worked around
later), and the position of the right/bottom activity
is always in sync with the position of the divider.

Also fix a bug in NonClientDecorView where the first
request to draw was dropped (because the thread hasn't
started up yet), and the main thread was waiting for it
indefinitily.

Bug: 24507122
Change-Id: I623bd48d5be64fac2fba45241b84f265944d200d
core/java/android/service/wallpaper/WallpaperService.java
core/java/android/view/IWindow.aidl
core/java/android/view/SurfaceView.java
core/java/android/view/ViewRootImpl.java
core/java/com/android/internal/view/BaseIWindow.java
core/java/com/android/internal/widget/NonClientDecorView.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/WindowStateAnimator.java