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

Commit 80c1210e authored by George Mount's avatar George Mount Committed by Android (Google) Code Review
Browse files

Merge "Fade Transition sometimes disappeared improperly."

parents 33417df7 1b2fb2ca
Loading
Loading
Loading
Loading
+5 −7
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ public class Fade extends Visibility {
        if (DBG) {
            Log.d(LOG_TAG, "Created animator " + anim);
        }
        FadeAnimatorListener listener = new FadeAnimatorListener(view, endAlpha);
        FadeAnimatorListener listener = new FadeAnimatorListener(view);
        anim.addListener(listener);
        anim.addPauseListener(listener);
        return anim;
@@ -138,13 +138,11 @@ public class Fade extends Visibility {

    private static class FadeAnimatorListener extends AnimatorListenerAdapter {
        private final View mView;
        private final float mEndAlpha;
        private boolean mCanceled = false;
        private float mPausedAlpha;
        private float mPausedAlpha = -1;

        public FadeAnimatorListener(View view, float endAlpha) {
        public FadeAnimatorListener(View view) {
            mView = view;
            mEndAlpha = endAlpha;
        }

        @Override
@@ -158,14 +156,14 @@ public class Fade extends Visibility {
        @Override
        public void onAnimationEnd(Animator animator) {
            if (!mCanceled) {
                mView.setTransitionAlpha(mEndAlpha);
                mView.setTransitionAlpha(1);
            }
        }

        @Override
        public void onAnimationPause(Animator animator) {
            mPausedAlpha = mView.getTransitionAlpha();
            mView.setTransitionAlpha(mEndAlpha);
            mView.setTransitionAlpha(1);
        }

        @Override
+2 −1
Original line number Diff line number Diff line
@@ -347,10 +347,11 @@ public abstract class Visibility extends Transition {
        }

        if (viewToKeep != null) {
            int originalVisibility = viewToKeep.getVisibility();
            viewToKeep.setVisibility(View.VISIBLE);
            Animator animator = onDisappear(sceneRoot, viewToKeep, startValues, endValues);
            if (animator == null) {
                viewToKeep.setVisibility(finalVisibility);
                viewToKeep.setVisibility(originalVisibility);
            } else {
                final View finalViewToKeep = viewToKeep;
                animator.addListener(new AnimatorListenerAdapter() {