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

Commit 40d04b4b authored by George Mount's avatar George Mount Committed by android-build-merger
Browse files

Merge "Merge "Fix ChangeClipBounds to set final clip to null." into oc-dev am:...

Merge "Merge "Fix ChangeClipBounds to set final clip to null." into oc-dev am: 8a4ff5ed" into oc-dev-plus-aosp
am: 97cb726b

Change-Id: Icbba1b2089b89351f93e8d0c3b7e18737f6d2b35
parents 267b7879 97cb726b
Loading
Loading
Loading
Loading
+14 −1
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@
package android.transition;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.RectEvaluator;
import android.content.Context;
@@ -84,6 +85,7 @@ public class ChangeClipBounds extends Transition {
        }
        Rect start = (Rect) startValues.values.get(PROPNAME_CLIP);
        Rect end = (Rect) endValues.values.get(PROPNAME_CLIP);
        boolean endIsNull = end == null;
        if (start == null && end == null) {
            return null; // No animation required since there is no clip.
        }
@@ -99,6 +101,17 @@ public class ChangeClipBounds extends Transition {

        endValues.view.setClipBounds(start);
        RectEvaluator evaluator = new RectEvaluator(new Rect());
        return ObjectAnimator.ofObject(endValues.view, "clipBounds", evaluator, start, end);
        ObjectAnimator animator =
                ObjectAnimator.ofObject(endValues.view, "clipBounds", evaluator, start, end);
        if (endIsNull) {
            final View endView = endValues.view;
            animator.addListener(new AnimatorListenerAdapter() {
                @Override
                public void onAnimationEnd(Animator animation) {
                    endView.setClipBounds(null);
                }
            });
        }
        return animator;
    }
}