diff options
author | Craig Mautner <cmautner@google.com> | 2013-04-05 17:28:08 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-04-05 17:28:08 +0000 |
commit | bab9687e6473072d6ff4f7ea5a7b21bcfbf95744 (patch) | |
tree | 21e7836e98cd42affeed6999ab597a6c7794829f | |
parent | 4ac0462e7121c89f5cd76136fda7f14874dfd787 (diff) | |
parent | 4238e3e4b5edbd7e28d0d929ac0c4fdbecd7b100 (diff) | |
download | frameworks_base-bab9687e6473072d6ff4f7ea5a7b21bcfbf95744.zip frameworks_base-bab9687e6473072d6ff4f7ea5a7b21bcfbf95744.tar.gz frameworks_base-bab9687e6473072d6ff4f7ea5a7b21bcfbf95744.tar.bz2 |
Merge "Make the min layer go down through all windows" into jb-mr2-dev
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index cbc42eb..af603fd 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -5365,6 +5365,9 @@ public class WindowManagerService extends IWindowManager.Stub if (maxLayer < winAnim.mSurfaceLayer) { maxLayer = winAnim.mSurfaceLayer; } + if (minLayer > winAnim.mSurfaceLayer) { + minLayer = winAnim.mSurfaceLayer; + } // Don't include wallpaper in bounds calculation if (!ws.mIsWallpaper) { @@ -5377,17 +5380,14 @@ public class WindowManagerService extends IWindowManager.Stub frame.union(left, top, right, bottom); } - if (ws.mAppToken != null && ws.mAppToken.token == appToken) { - if (minLayer > ws.mWinAnimator.mSurfaceLayer) { - minLayer = ws.mWinAnimator.mSurfaceLayer; - } - if (ws.isDisplayedLw()) { - screenshotReady = true; - } - if (fullscreen) { - // No point in continuing down through windows. - break; - } + if (ws.mAppToken != null && ws.mAppToken.token == appToken && + ws.isDisplayedLw()) { + screenshotReady = true; + } + + if (fullscreen) { + // No point in continuing down through windows. + break; } } @@ -5461,14 +5461,12 @@ public class WindowManagerService extends IWindowManager.Stub rawss = SurfaceControl.screenshot(dw, dh, minLayer, maxLayer); } } while (!screenshotReady && retryCount <= MAX_SCREENSHOT_RETRIES); - if (DEBUG_SCREENSHOT && retryCount > MAX_SCREENSHOT_RETRIES) { - Slog.i(TAG, "Screenshot max retries " + retryCount + " of " + appToken + " appWin=" - + (appWin == null ? "null" : (appWin + " drawState=" - + appWin.mWinAnimator.mDrawState))); - } + if (retryCount > MAX_SCREENSHOT_RETRIES) Slog.i(TAG, "Screenshot max retries " + + retryCount + " of " + appToken + " appWin=" + (appWin == null ? + "null" : (appWin + " drawState=" + appWin.mWinAnimator.mDrawState))); if (rawss == null) { - Slog.w(TAG, "Failure taking screenshot for (" + dw + "x" + dh + Slog.w(TAG, "Screenshot failure taking screenshot for (" + dw + "x" + dh + ") to layer " + maxLayer); return null; } @@ -5481,7 +5479,7 @@ public class WindowManagerService extends IWindowManager.Stub canvas.drawBitmap(rawss, matrix, null); canvas.setBitmap(null); - if (DEBUG_SCREENSHOT) { + if (true || DEBUG_SCREENSHOT) { // TEST IF IT's ALL BLACK int[] buffer = new int[bm.getWidth() * bm.getHeight()]; bm.getPixels(buffer, 0, bm.getWidth(), 0, 0, bm.getWidth(), bm.getHeight()); @@ -5494,7 +5492,8 @@ public class WindowManagerService extends IWindowManager.Stub } if (allBlack) { Slog.i(TAG, "Screenshot " + appWin + " was all black! mSurfaceLayer=" + - (appWin != null ? appWin.mWinAnimator.mSurfaceLayer : "null")); + (appWin != null ? appWin.mWinAnimator.mSurfaceLayer : "null") + + " minLayer=" + minLayer + " maxLayer=" + maxLayer); } } |