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

Commit 1060d75e authored by Alan Viverette's avatar Alan Viverette Committed by Android Git Automerger
Browse files

am 9a1b4c29: Merge "Move ripple to end state on jump when hardware exit is...

am 9a1b4c29: Merge "Move ripple to end state on jump when hardware exit is pending" into lmp-mr1-dev

* commit '9a1b4c29':
  Move ripple to end state on jump when hardware exit is pending
parents d4bef185 9a1b4c29
Loading
Loading
Loading
Loading
+20 −5
Original line number Diff line number Diff line
@@ -214,7 +214,7 @@ class Ripple {
        final boolean canUseHardware = c.isHardwareAccelerated();
        if (mCanUseHardware != canUseHardware && mCanUseHardware) {
            // We've switched from hardware to non-hardware mode. Panic.
            cancelHardwareAnimations(true);
            cancelHardwareAnimations(false);
        }
        mCanUseHardware = canUseHardware;

@@ -493,7 +493,7 @@ class Ripple {
    public void cancel() {
        mCanceled = true;
        cancelSoftwareAnimations();
        cancelHardwareAnimations(true);
        cancelHardwareAnimations(false);
        mCanceled = false;
    }

@@ -522,15 +522,30 @@ class Ripple {
    /**
     * Cancels any running hardware animations.
     */
    private void cancelHardwareAnimations(boolean cancelPending) {
    private void cancelHardwareAnimations(boolean jumpToEnd) {
        final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
        final int N = runningAnimations.size();
        for (int i = 0; i < N; i++) {
            if (jumpToEnd) {
                runningAnimations.get(i).end();
            } else {
                runningAnimations.get(i).cancel();
            }
        }
        runningAnimations.clear();

        if (mHasPendingHardwareExit) {
            // If we had a pending hardware exit, jump to the end state.
            mHasPendingHardwareExit = false;

            if (jumpToEnd) {
                mOpacity = 0;
                mTweenX = 1;
                mTweenY = 1;
                mTweenRadius = 1;
            }
        }

        mHardwareAnimating = false;
    }

+17 −5
Original line number Diff line number Diff line
@@ -148,7 +148,7 @@ class RippleBackground {
        final boolean canUseHardware = c.isHardwareAccelerated();
        if (mCanUseHardware != canUseHardware && mCanUseHardware) {
            // We've switched from hardware to non-hardware mode. Panic.
            cancelHardwareAnimations(true);
            cancelHardwareAnimations(false);
        }
        mCanUseHardware = canUseHardware;

@@ -399,7 +399,7 @@ class RippleBackground {
     */
    public void cancel() {
        cancelSoftwareAnimations();
        cancelHardwareAnimations(true);
        cancelHardwareAnimations(false);
    }

    private void cancelSoftwareAnimations() {
@@ -412,15 +412,27 @@ class RippleBackground {
    /**
     * Cancels any running hardware animations.
     */
    private void cancelHardwareAnimations(boolean cancelPending) {
    private void cancelHardwareAnimations(boolean jumpToEnd) {
        final ArrayList<RenderNodeAnimator> runningAnimations = mRunningAnimations;
        final int N = runningAnimations.size();
        for (int i = 0; i < N; i++) {
            if (jumpToEnd) {
                runningAnimations.get(i).end();
            } else {
                runningAnimations.get(i).cancel();
            }
        }
        runningAnimations.clear();

        if (mHasPendingHardwareExit) {
            // If we had a pending hardware exit, jump to the end state.
            mHasPendingHardwareExit = false;

            if (jumpToEnd) {
                mOuterOpacity = 0;
            }
        }

        mHardwareAnimating = false;
    }