OSDN Git Service

Use fullscreen sized buffer for drag resizing
authorChong Zhang <chz@google.com>
Mon, 14 Sep 2015 17:20:21 +0000 (10:20 -0700)
committerChong Zhang <chz@google.com>
Tue, 15 Sep 2015 18:20:21 +0000 (11:20 -0700)
commit09b21efb97d539543259b33e2da9d4c7a41966c8
treedfa831b1f2447d807ced0199357c2e1edf2de06c
parentb34939afefda35d18bfb0a72173ac5f08eea6ced
Use fullscreen sized buffer for drag resizing

- When drag resizing starts, set the surface size to fullscreen
  (plus any surface insets requested by win attrs), so that we don't
  reallocate buffers and the buffers don't get rejected by surfaceflinger
  due to size-mismatch.

- When drag resizing ends, restore the surface size to the original.

- Update shown frame before setSurfaceBoundariesLocked(), as the top-left
  of the window could change, we need to update the surface position. This
  fixes incorrect window positing during resizing by corners on top/left.

- When doing tap-detection, skip non-freeformed tasks. This fixes the
  bug where clicking near border of a window could dismiss it.

Change-Id: I5dc9fc34ff05685320b8fe5d491b9c066c6726e8
services/core/java/com/android/server/wm/DisplayContent.java
services/core/java/com/android/server/wm/Task.java
services/core/java/com/android/server/wm/TaskPositioner.java
services/core/java/com/android/server/wm/WindowState.java
services/core/java/com/android/server/wm/WindowStateAnimator.java
services/core/java/com/android/server/wm/WindowSurfacePlacer.java