Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5ae8e45f authored by Craig Mautner's avatar Craig Mautner Committed by Android (Google) Code Review
Browse files

Merge "Make DimLayer track changes to WindowState layer."

parents 91912983 13131e74
Loading
Loading
Loading
Loading
+11 −0
Original line number Diff line number Diff line
@@ -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);
+6 −2
Original line number Diff line number Diff line
@@ -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()) {