diff options
| author | 2012-05-06 13:12:04 -0700 | |
|---|---|---|
| committer | 2012-05-06 14:27:44 -0700 | |
| commit | 924d9b75d6ec4597264a7af3f8be5b5a7d3a3dd2 (patch) | |
| tree | 72ddb898ae3b0081fa3783919bb98cfe5ea57b8c | |
| parent | 139e5aa1da51b27231ab36344cf2d0dafab23f1e (diff) | |
Force BlackSurface to be a black surface.
BlackSurface transparency was tracking animation transparency causing
background images to peek around the corners.
Fixes bug 4998851.
Change-Id: I48ac7bf5d0cc560b655c9f12faccda411985cbad
| -rw-r--r-- | services/java/com/android/server/wm/BlackFrame.java | 23 | ||||
| -rw-r--r-- | services/java/com/android/server/wm/ScreenRotationAnimation.java | 1 |
2 files changed, 11 insertions, 13 deletions
diff --git a/services/java/com/android/server/wm/BlackFrame.java b/services/java/com/android/server/wm/BlackFrame.java index c915932a3648..27af31328e55 100644 --- a/services/java/com/android/server/wm/BlackFrame.java +++ b/services/java/com/android/server/wm/BlackFrame.java @@ -42,8 +42,17 @@ public class BlackFrame { this.layer = layer; int w = r-l; int h = b-t; - surface = new Surface(session, 0, "BlackSurface", - -1, w, h, PixelFormat.OPAQUE, Surface.FX_SURFACE_DIM); + if (WindowManagerService.DEBUG_SURFACE_TRACE) { + surface = new WindowStateAnimator.SurfaceTrace(session, 0, "BlackSurface(" + + l + ", " + t + ")", + -1, w, h, PixelFormat.OPAQUE, Surface.FX_SURFACE_DIM); + } else { + surface = new Surface(session, 0, "BlackSurface", + -1, w, h, PixelFormat.OPAQUE, Surface.FX_SURFACE_DIM); + } + surface.setAlpha(1); + surface.setLayer(layer); + surface.show(); if (WindowManagerService.SHOW_TRANSACTIONS || WindowManagerService.SHOW_SURFACE_ALLOC) Slog.i(WindowManagerService.TAG, " BLACK " + surface + ": CREATE layer=" + layer); @@ -58,8 +67,6 @@ public class BlackFrame { surface.setMatrix( mTmpFloats[Matrix.MSCALE_X], mTmpFloats[Matrix.MSKEW_Y], mTmpFloats[Matrix.MSKEW_X], mTmpFloats[Matrix.MSCALE_Y]); - surface.setAlpha(1.0f); - surface.setLayer(layer); if (false) { Slog.i(WindowManagerService.TAG, "Black Surface @ (" + left + "," + top + "): (" + mTmpFloats[Matrix.MTRANS_X] + "," @@ -159,14 +166,6 @@ public class BlackFrame { } } - public void setAlpha(float alpha) { - for (int i=0; i<mBlackSurfaces.length; i++) { - if (mBlackSurfaces[i] != null) { - mBlackSurfaces[i].surface.setAlpha(alpha); - } - } - } - public void clearMatrix() { for (int i=0; i<mBlackSurfaces.length; i++) { if (mBlackSurfaces[i] != null) { diff --git a/services/java/com/android/server/wm/ScreenRotationAnimation.java b/services/java/com/android/server/wm/ScreenRotationAnimation.java index 13013a8d776e..938db9e77fa7 100644 --- a/services/java/com/android/server/wm/ScreenRotationAnimation.java +++ b/services/java/com/android/server/wm/ScreenRotationAnimation.java @@ -862,7 +862,6 @@ class ScreenRotationAnimation { } else { mExitFrameFinalMatrix.setConcat(mExitTransformation.getMatrix(), mFrameInitialMatrix); mExitingBlackFrame.setMatrix(mExitFrameFinalMatrix); - mExitingBlackFrame.setAlpha(mExitTransformation.getAlpha()); } } |