am 35b691f0: Merge "Eliminate wallpaper exposure during transition." into jb-dev

* commit '35b691f056159e938a256420f6d3dec1ebf8bfd9':
  Eliminate wallpaper exposure during transition.
This commit is contained in:
Craig Mautner
2012-06-05 13:43:29 -07:00
committed by Android Git Automerger
3 changed files with 9 additions and 4 deletions

View File

@@ -489,7 +489,11 @@ public class WindowAnimator {
final int N = mWinAnimators.size();
for (int i = 0; i < N; i++) {
mWinAnimators.get(i).prepareSurfaceLocked(true);
final WindowStateAnimator winAnimator = mWinAnimators.get(i);
if (winAnimator.mWin.mIsWallpaper && mService.mWallpaperTarget == null) {
continue;
}
winAnimator.prepareSurfaceLocked(true);
}
if (mDimParams != null) {

View File

@@ -8553,7 +8553,7 @@ public class WindowManagerService extends IWindowManager.Stub
handleNotObscuredLocked(w, currentTime, innerDw, innerDh);
}
if (obscuredChanged && mWallpaperTarget == w) {
if (obscuredChanged && (mWallpaperTarget == w) && w.isVisibleLw()) {
// This is the wallpaper target and its obscured state
// changed... make sure the current wallaper's visibility
// has been updated accordingly.

View File

@@ -381,6 +381,7 @@ class WindowStateAnimator {
}
if (mService.mWallpaperTarget == mWin && mService.mLowerWallpaperTarget == null) {
mAnimator.hideWallpapersLocked();
mAnimator.mPendingLayoutChanges |= WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
}
}
@@ -1105,8 +1106,8 @@ class WindowStateAnimator {
try {
mSurfaceAlpha = mShownAlpha;
mSurface.setAlpha(mShownAlpha);
mSurfaceLayer = w.mWinAnimator.mAnimLayer;
mSurface.setLayer(w.mWinAnimator.mAnimLayer);
mSurfaceLayer = mAnimLayer;
mSurface.setLayer(mAnimLayer);
mSurface.setMatrix(
mDsDx*w.mHScale, mDtDx*w.mVScale,
mDsDy*w.mHScale, mDtDy*w.mVScale);