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

Commit c94e2b39 authored by Dake Gu's avatar Dake Gu Committed by George Mount
Browse files

Add Parent Change to ChangeTransform

Bug 16460123

Modified ChangeTransform to support any pivot changes.
Modified ChangeTransform to support changes between parents.

Change-Id: I6374890dab9f3d795f334b951bdb9d51d434b8ee
parent b89d5cc2
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1028,6 +1028,8 @@ package android {
    field public static final int readPermission = 16842759; // 0x1010007
    field public static final int recognitionService = 16843932; // 0x101049c
    field public static final int relinquishTaskIdentity = 16843894; // 0x1010476
    field public static final int reparent = 16843965; // 0x10104bd
    field public static final int reparentWithOverlay = 16843966; // 0x10104be
    field public static final int repeatCount = 16843199; // 0x10101bf
    field public static final int repeatMode = 16843200; // 0x10101c0
    field public static final int reqFiveWayNav = 16843314; // 0x1010232
@@ -31804,7 +31806,7 @@ package android.transition {
    ctor public ChangeBounds(android.content.Context, android.util.AttributeSet);
    method public void captureEndValues(android.transition.TransitionValues);
    method public void captureStartValues(android.transition.TransitionValues);
    method public void setReparent(boolean);
    method public deprecated void setReparent(boolean);
    method public void setResizeClip(boolean);
  }
@@ -31827,6 +31829,10 @@ package android.transition {
    ctor public ChangeTransform(android.content.Context, android.util.AttributeSet);
    method public void captureEndValues(android.transition.TransitionValues);
    method public void captureStartValues(android.transition.TransitionValues);
    method public boolean getReparent();
    method public boolean getReparentWithOverlay();
    method public void setReparent(boolean);
    method public void setReparentWithOverlay(boolean);
  }
  public class CircularPropagation extends android.transition.VisibilityPropagation {
+2 −0
Original line number Diff line number Diff line
@@ -107,6 +107,8 @@ public class ChangeBounds extends Transition {
     *
     * @param reparent true if the transition should track the parent
     * container of target views and animate parent changes.
     * @deprecated Use {@link android.transition.ChangeTransform} to handle
     * transitions between different parents.
     */
    public void setReparent(boolean reparent) {
        mReparent = reparent;
+1 −24
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@
package android.transition;

import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.animation.ObjectAnimator;
import android.animation.TypeEvaluator;
import android.content.Context;
@@ -196,28 +195,6 @@ public class ChangeImageTransform extends Transition {
    private ObjectAnimator createMatrixAnimator(final ImageView imageView, Matrix startMatrix,
            final Matrix endMatrix) {
        return ObjectAnimator.ofObject(imageView, ANIMATED_TRANSFORM_PROPERTY,
                new MatrixEvaluator(), startMatrix, endMatrix);
                new TransitionUtils.MatrixEvaluator(), startMatrix, endMatrix);
    }

    private static class MatrixEvaluator implements TypeEvaluator<Matrix> {

        float[] mTempStartValues = new float[9];

        float[] mTempEndValues = new float[9];

        Matrix mTempMatrix = new Matrix();

        @Override
        public Matrix evaluate(float fraction, Matrix startValue, Matrix endValue) {
            startValue.getValues(mTempStartValues);
            endValue.getValues(mTempEndValues);
            for (int i = 0; i < 9; i++) {
                float diff = mTempEndValues[i] - mTempStartValues[i];
                mTempEndValues[i] = mTempStartValues[i] + (fraction * diff);
            }
            mTempMatrix.setValues(mTempEndValues);
            return mTempMatrix;
        }
    }

}
+352 −85

File changed.

Preview size limit exceeded, changes collapsed.

+29 −13

File changed.

Preview size limit exceeded, changes collapsed.

Loading