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

Commit b5100e90 authored by Johannes Gallmann's avatar Johannes Gallmann Committed by Android (Google) Code Review
Browse files

Merge "Fix small alpha flicker for cross activity back" into main

parents 90b68205 ff10d2bf
Loading
Loading
Loading
Loading
+13 −8
Original line number Diff line number Diff line
@@ -310,12 +310,16 @@ public class CrossActivityBackAnimation extends ShellBackAnimation {
        float top = mapRange(progress, mEnteringStartRect.top, mStartTaskRect.top);
        float width = mapRange(progress, mEnteringStartRect.width(), mStartTaskRect.width());
        float height = mapRange(progress, mEnteringStartRect.height(), mStartTaskRect.height());
        float alpha = mapRange(progress, mEnteringProgress, 1.0f);

        float alpha = mapRange(progress, getPreCommitEnteringAlpha(), 1.0f);
        mEnteringRect.set(left, top, left + width, top + height);
        applyTransform(mEnteringTarget.leash, mEnteringRect, alpha);
    }

    private float getPreCommitEnteringAlpha() {
        return Math.max(smoothstep(ENTER_ALPHA_THRESHOLD, 0.7f, mEnteringProgress),
                MIN_WINDOW_ALPHA);
    }

    private float getEnteringProgress() {
        return mEnteringProgress * SCALE_FACTOR;
    }
@@ -325,9 +329,7 @@ public class CrossActivityBackAnimation extends ShellBackAnimation {
        if (mEnteringTarget != null && mEnteringTarget.leash != null) {
            transformWithProgress(
                    mEnteringProgress,
                    Math.max(
                            smoothstep(ENTER_ALPHA_THRESHOLD, 0.7f, mEnteringProgress),
                            MIN_WINDOW_ALPHA),  /* alpha */
                    getPreCommitEnteringAlpha(),
                    mEnteringTarget.leash,
                    mEnteringRect,
                    -mWindowXShift,
@@ -336,6 +338,11 @@ public class CrossActivityBackAnimation extends ShellBackAnimation {
        }
    }

    private float getPreCommitLeavingAlpha() {
        return Math.max(1 - smoothstep(0, ENTER_ALPHA_THRESHOLD, mLeavingProgress),
                MIN_WINDOW_ALPHA);
    }

    private float getLeavingProgress() {
        return mLeavingProgress * SCALE_FACTOR;
    }
@@ -345,9 +352,7 @@ public class CrossActivityBackAnimation extends ShellBackAnimation {
        if (mClosingTarget != null && mClosingTarget.leash != null) {
            transformWithProgress(
                    mLeavingProgress,
                    Math.max(
                            1 - smoothstep(0, ENTER_ALPHA_THRESHOLD, mLeavingProgress),
                            MIN_WINDOW_ALPHA),
                    getPreCommitLeavingAlpha(),
                    mClosingTarget.leash,
                    mClosingRect,
                    0,