summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2013-04-05 17:28:08 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-04-05 17:28:08 +0000
commitbab9687e6473072d6ff4f7ea5a7b21bcfbf95744 (patch)
tree21e7836e98cd42affeed6999ab597a6c7794829f
parent4ac0462e7121c89f5cd76136fda7f14874dfd787 (diff)
parent4238e3e4b5edbd7e28d0d929ac0c4fdbecd7b100 (diff)
downloadframeworks_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.java37
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);
}
}