am bab9687e: Merge "Make the min layer go down through all windows" into jb-mr2-dev

* commit 'bab9687e6473072d6ff4f7ea5a7b21bcfbf95744':
  Make the min layer go down through all windows
This commit is contained in:
Craig Mautner
2013-04-05 10:31:35 -07:00
committed by Android Git Automerger

View File

@ -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);
}
}