am 5ae8e45f: Merge "Make DimLayer track changes to WindowState layer."

* commit '5ae8e45ff390d660c5694f27e2df14cf7b8fb81d':
  Make DimLayer track changes to WindowState layer.
This commit is contained in:
Craig Mautner
2013-01-11 16:43:55 -08:00
committed by Android Git Automerger
2 changed files with 17 additions and 2 deletions

View File

@@ -84,6 +84,17 @@ public class DimLayer {
return mTargetAlpha;
}
void setLayer(int layer) {
if (mLayer != layer) {
mLayer = layer;
mDimSurface.setLayer(layer);
}
}
int getLayer() {
return mLayer;
}
private void setAlpha(float alpha) {
if (mAlpha != alpha) {
if (DEBUG) Slog.v(TAG, "setAlpha alpha=" + alpha);

View File

@@ -573,10 +573,13 @@ public class WindowAnimator {
final DimLayer dimAnimator = displayAnimator.mDimAnimator;
final WindowStateAnimator winAnimator = displayAnimator.mDimWinAnimator;
final int dimLayer;
final float dimAmount;
if (winAnimator == null) {
dimLayer = dimAnimator.getLayer();
dimAmount = 0;
} else {
dimLayer = winAnimator.mAnimLayer - WindowManagerService.LAYER_OFFSET_DIM;
dimAmount = winAnimator.mWin.mAttrs.dimAmount;
}
final float targetAlpha = dimAnimator.getTargetAlpha();
@@ -590,9 +593,10 @@ public class WindowAnimator {
if (targetAlpha > dimAmount) {
duration = getDimBehindFadeDuration(duration);
}
dimAnimator.show(winAnimator.mAnimLayer -
WindowManagerService.LAYER_OFFSET_DIM, dimAmount, duration);
dimAnimator.show(dimLayer, dimAmount, duration);
}
} else if (dimAnimator.getLayer() != dimLayer) {
dimAnimator.setLayer(dimLayer);
}
if (dimAnimator.isAnimating()) {
if (!mService.okToDisplay()) {