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

Commit 00177e48 authored by Chet Haase's avatar Chet Haase
Browse files

Fix clone() for Animators with just a 'to' value

Previously, clone() on an Animator with only one value would mistakenly
think that the clone had a real starting value (which would end up being 0 in the
int and float cases). Fix is to set the 'mHasFirstValue' flag appropriately for the
clone, based on the state of the cloned animator.

Issue #7106442 ObjectAnimator.clone() does not work properly for single parameter

Change-Id: I08bf03b7687a65eb613c1671a58e4cbfae66a30e
parent a3909a93
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -261,7 +261,7 @@ public abstract class Keyframe implements Cloneable {

        @Override
        public ObjectKeyframe clone() {
            ObjectKeyframe kfClone = new ObjectKeyframe(getFraction(), mValue);
            ObjectKeyframe kfClone = new ObjectKeyframe(getFraction(), mHasValue ? mValue : null);
            kfClone.setInterpolator(getInterpolator());
            return kfClone;
        }
@@ -306,7 +306,9 @@ public abstract class Keyframe implements Cloneable {

        @Override
        public IntKeyframe clone() {
            IntKeyframe kfClone = new IntKeyframe(getFraction(), mValue);
            IntKeyframe kfClone = mHasValue ?
                    new IntKeyframe(getFraction(), mValue) :
                    new IntKeyframe(getFraction());
            kfClone.setInterpolator(getInterpolator());
            return kfClone;
        }
@@ -350,7 +352,9 @@ public abstract class Keyframe implements Cloneable {

        @Override
        public FloatKeyframe clone() {
            FloatKeyframe kfClone = new FloatKeyframe(getFraction(), mValue);
            FloatKeyframe kfClone = mHasValue ?
                    new FloatKeyframe(getFraction(), mValue) :
                    new FloatKeyframe(getFraction());
            kfClone.setInterpolator(getInterpolator());
            return kfClone;
        }