Merge "Change DimAnimator to reflect rotations." into jb-dev

This commit is contained in:
Craig Mautner
2012-05-07 13:10:08 -07:00
committed by Android (Google) Code Review
2 changed files with 12 additions and 3 deletions

View File

@@ -68,8 +68,10 @@ class DimAnimator {
* {@link #updateSurface} after all windows are examined.
*/
void updateParameters(final Resources res, final Parameters params, final long currentTime) {
final int dw = params.mDimWidth;
final int dh = params.mDimHeight;
// Multiply by 1.5 so that rotating a frozen surface that includes this does not expose a
// corner.
final int dw = (int) (params.mDimWidth * 1.5);
final int dh = (int) (params.mDimHeight * 1.5);
final WindowStateAnimator winAnimator = params.mDimWinAnimator;
final float target = params.mDimTarget;
if (!mDimShown) {
@@ -79,7 +81,8 @@ class DimAnimator {
try {
mLastDimWidth = dw;
mLastDimHeight = dh;
mDimSurface.setPosition(0, 0);
// back off position so mDimXXX/4 is before and mDimXXX/4 is after
mDimSurface.setPosition(-1 * dw / 6, -1 * dh /6);
mDimSurface.setSize(dw, dh);
mDimSurface.show();
} catch (RuntimeException e) {
@@ -89,6 +92,8 @@ class DimAnimator {
mLastDimWidth = dw;
mLastDimHeight = dh;
mDimSurface.setSize(dw, dh);
// back off position so mDimXXX/4 is before and mDimXXX/4 is after
mDimSurface.setPosition(-1 * dw / 6, -1 * dh /6);
}
mDimSurface.setLayer(winAnimator.mAnimLayer - WindowManagerService.LAYER_OFFSET_DIM);

View File

@@ -951,6 +951,10 @@ class WindowStateAnimator {
mSurface.setSize(width, height);
mAnimator.mPendingLayoutChanges |=
WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
if ((w.mAttrs.flags & LayoutParams.FLAG_DIM_BEHIND) != 0) {
mAnimator.startDimming(this, w.mExiting ? 0 : w.mAttrs.dimAmount,
mService.mAppDisplayWidth, mService.mAppDisplayHeight);
}
} catch (RuntimeException e) {
// If something goes wrong with the surface (such
// as running out of memory), don't take down the