am 5ae8e45f: Merge "Make DimLayer track changes to WindowState layer."
* commit '5ae8e45ff390d660c5694f27e2df14cf7b8fb81d': Make DimLayer track changes to WindowState layer.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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()) {
|
||||
|
||||
Reference in New Issue
Block a user