OSDN Git Service

DO NOT MERGE. Fix issue #8868003: Recents thumbnails scale...
authorDianne Hackborn <hackbod@google.com>
Wed, 8 May 2013 22:51:26 +0000 (15:51 -0700)
committerDianne Hackborn <hackbod@google.com>
Thu, 9 May 2013 01:05:58 +0000 (18:05 -0700)
...+ zoom to wrong place

We need to make sure the overscan insets are never negative.

Change-Id: I6ca82acc2a6c887085a5d14d03a55ea78451e4b6

services/java/com/android/server/wm/WindowState.java

index e53a721..dfb22a7 100644 (file)
@@ -534,10 +534,10 @@ final class WindowState implements WindowManagerPolicy.WindowState {
         if (visible.bottom > frame.bottom) visible.bottom = frame.bottom;
 
         final Rect overscanInsets = mOverscanInsets;
-        overscanInsets.left = overscan.left-frame.left;
-        overscanInsets.top = overscan.top-frame.top;
-        overscanInsets.right = frame.right-overscan.right;
-        overscanInsets.bottom = frame.bottom-overscan.bottom;
+        overscanInsets.left = overscan.left > frame.left ? overscan.left-frame.left : 0;
+        overscanInsets.top = overscan.top > frame.top ? overscan.top-frame.top : 0;
+        overscanInsets.right = overscan.right < frame.right ? frame.right-overscan.right : 0;
+        overscanInsets.bottom = overscan.bottom < frame.bottom ? frame.bottom-overscan.bottom : 0;
 
         final Rect contentInsets = mContentInsets;
         contentInsets.left = content.left-frame.left;