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

Commit 30da61d4 authored by George Mount's avatar George Mount
Browse files

Add view name to Transition matching.

Bug 14625214

Change-Id: Ia1b21e6bd0ea4892b504746e582aeb175e0f0506
parent abb352a9
Loading
Loading
Loading
Loading
+8 −0
Original line number Original line Diff line number Diff line
@@ -505,6 +505,7 @@ package android {
    field public static final int excludeClass = 16843849; // 0x1010449
    field public static final int excludeClass = 16843849; // 0x1010449
    field public static final int excludeFromRecents = 16842775; // 0x1010017
    field public static final int excludeFromRecents = 16842775; // 0x1010017
    field public static final int excludeId = 16843848; // 0x1010448
    field public static final int excludeId = 16843848; // 0x1010448
    field public static final int excludeViewName = 16843860; // 0x1010454
    field public static final int exitFadeDuration = 16843533; // 0x101030d
    field public static final int exitFadeDuration = 16843533; // 0x101030d
    field public static final int expandableListPreferredChildIndicatorLeft = 16842834; // 0x1010052
    field public static final int expandableListPreferredChildIndicatorLeft = 16842834; // 0x1010052
    field public static final int expandableListPreferredChildIndicatorRight = 16842835; // 0x1010053
    field public static final int expandableListPreferredChildIndicatorRight = 16842835; // 0x1010053
@@ -1127,6 +1128,7 @@ package android {
    field public static final int targetId = 16843740; // 0x10103dc
    field public static final int targetId = 16843740; // 0x10103dc
    field public static final int targetPackage = 16842785; // 0x1010021
    field public static final int targetPackage = 16842785; // 0x1010021
    field public static final int targetSdkVersion = 16843376; // 0x1010270
    field public static final int targetSdkVersion = 16843376; // 0x1010270
    field public static final int targetViewName = 16843859; // 0x1010453
    field public static final int taskAffinity = 16842770; // 0x1010012
    field public static final int taskAffinity = 16842770; // 0x1010012
    field public static final int taskCloseEnterAnimation = 16842942; // 0x10100be
    field public static final int taskCloseEnterAnimation = 16842942; // 0x10100be
    field public static final int taskCloseExitAnimation = 16842943; // 0x10100bf
    field public static final int taskCloseExitAnimation = 16842943; // 0x10100bf
@@ -29045,6 +29047,7 @@ package android.transition {
    ctor public Transition();
    ctor public Transition();
    method public android.transition.Transition addListener(android.transition.Transition.TransitionListener);
    method public android.transition.Transition addListener(android.transition.Transition.TransitionListener);
    method public android.transition.Transition addTarget(int);
    method public android.transition.Transition addTarget(int);
    method public android.transition.Transition addTarget(java.lang.String);
    method public android.transition.Transition addTarget(java.lang.Class);
    method public android.transition.Transition addTarget(java.lang.Class);
    method public android.transition.Transition addTarget(android.view.View);
    method public android.transition.Transition addTarget(android.view.View);
    method public boolean canRemoveViews();
    method public boolean canRemoveViews();
@@ -29056,6 +29059,7 @@ package android.transition {
    method public android.transition.Transition excludeChildren(android.view.View, boolean);
    method public android.transition.Transition excludeChildren(android.view.View, boolean);
    method public android.transition.Transition excludeChildren(java.lang.Class, boolean);
    method public android.transition.Transition excludeChildren(java.lang.Class, boolean);
    method public android.transition.Transition excludeTarget(int, boolean);
    method public android.transition.Transition excludeTarget(int, boolean);
    method public android.transition.Transition excludeTarget(java.lang.String, boolean);
    method public android.transition.Transition excludeTarget(android.view.View, boolean);
    method public android.transition.Transition excludeTarget(android.view.View, boolean);
    method public android.transition.Transition excludeTarget(java.lang.Class, boolean);
    method public android.transition.Transition excludeTarget(java.lang.Class, boolean);
    method public long getDuration();
    method public long getDuration();
@@ -29066,12 +29070,16 @@ package android.transition {
    method public android.transition.TransitionPropagation getPropagation();
    method public android.transition.TransitionPropagation getPropagation();
    method public long getStartDelay();
    method public long getStartDelay();
    method public java.util.List<java.lang.Integer> getTargetIds();
    method public java.util.List<java.lang.Integer> getTargetIds();
    method public java.util.List<java.lang.Class> getTargetTypes();
    method public java.util.List<java.lang.String> getTargetViewNames();
    method public java.util.List<android.view.View> getTargets();
    method public java.util.List<android.view.View> getTargets();
    method public java.lang.String[] getTransitionProperties();
    method public java.lang.String[] getTransitionProperties();
    method public android.transition.TransitionValues getTransitionValues(android.view.View, boolean);
    method public android.transition.TransitionValues getTransitionValues(android.view.View, boolean);
    method public android.transition.Transition removeListener(android.transition.Transition.TransitionListener);
    method public android.transition.Transition removeListener(android.transition.Transition.TransitionListener);
    method public android.transition.Transition removeTarget(int);
    method public android.transition.Transition removeTarget(int);
    method public android.transition.Transition removeTarget(java.lang.String);
    method public android.transition.Transition removeTarget(android.view.View);
    method public android.transition.Transition removeTarget(android.view.View);
    method public android.transition.Transition removeTarget(java.lang.Class);
    method public android.transition.Transition setDuration(long);
    method public android.transition.Transition setDuration(long);
    method public void setEpicenterCallback(android.transition.Transition.EpicenterCallback);
    method public void setEpicenterCallback(android.transition.Transition.EpicenterCallback);
    method public android.transition.Transition setInterpolator(android.animation.TimeInterpolator);
    method public android.transition.Transition setInterpolator(android.animation.TimeInterpolator);
+385 −225

File changed.

Preview size limit exceeded, changes collapsed.

+9 −0
Original line number Original line Diff line number Diff line
@@ -229,11 +229,20 @@ public class TransitionInflater {
                        com.android.internal.R.styleable.TransitionTarget);
                        com.android.internal.R.styleable.TransitionTarget);
                int id = a.getResourceId(
                int id = a.getResourceId(
                        com.android.internal.R.styleable.TransitionTarget_targetId, -1);
                        com.android.internal.R.styleable.TransitionTarget_targetId, -1);
                String viewName;
                if (id >= 0) {
                if (id >= 0) {
                    transition.addTarget(id);
                    transition.addTarget(id);
                } else if ((id = a.getResourceId(
                } else if ((id = a.getResourceId(
                        com.android.internal.R.styleable.TransitionTarget_excludeId, -1)) >= 0) {
                        com.android.internal.R.styleable.TransitionTarget_excludeId, -1)) >= 0) {
                    transition.excludeTarget(id, true);
                    transition.excludeTarget(id, true);
                } else if ((viewName = a.getString(
                            com.android.internal.R.styleable.TransitionTarget_targetViewName))
                        != null) {
                    transition.addTarget(viewName);
                } else if ((viewName = a.getString(
                        com.android.internal.R.styleable.TransitionTarget_excludeViewName))
                        != null) {
                    transition.excludeTarget(viewName, true);
                } else {
                } else {
                    String className = a.getString(
                    String className = a.getString(
                            com.android.internal.R.styleable.TransitionTarget_excludeClass);
                            com.android.internal.R.styleable.TransitionTarget_excludeClass);
+6 −24
Original line number Original line Diff line number Diff line
@@ -272,24 +272,8 @@ public class TransitionSet extends Transition {
        int numValues = values.viewValues.size();
        int numValues = values.viewValues.size();
        for (int i = 0; i < numValues; i++) {
        for (int i = 0; i < numValues; i++) {
            View view = values.viewValues.keyAt(i);
            View view = values.viewValues.keyAt(i);
            if (isValidTarget(view, view.getId())) {
            if (isValidTarget(view)) {
                included.viewValues.put(view, values.viewValues.valueAt(i));
                addViewValues(included, view, values.viewValues.valueAt(i));
            }
        }
        numValues = values.idValues.size();
        for (int i = 0; i < numValues; i++) {
            int id = values.idValues.keyAt(i);
            TransitionValues transitionValues = values.idValues.valueAt(i);
            if (isValidTarget(transitionValues.view, id)) {
                included.idValues.put(id, transitionValues);
            }
        }
        numValues = values.itemIdValues.size();
        for (int i = 0; i < numValues; i++) {
            long id = values.itemIdValues.keyAt(i);
            TransitionValues transitionValues = values.itemIdValues.valueAt(i);
            if (isValidTarget(transitionValues.view, id)) {
                included.itemIdValues.put(id, transitionValues);
            }
            }
        }
        }
        return included;
        return included;
@@ -328,10 +312,9 @@ public class TransitionSet extends Transition {


    @Override
    @Override
    public void captureStartValues(TransitionValues transitionValues) {
    public void captureStartValues(TransitionValues transitionValues) {
        int targetId = transitionValues.view.getId();
        if (isValidTarget(transitionValues.view)) {
        if (isValidTarget(transitionValues.view, targetId)) {
            for (Transition childTransition : mTransitions) {
            for (Transition childTransition : mTransitions) {
                if (childTransition.isValidTarget(transitionValues.view, targetId)) {
                if (childTransition.isValidTarget(transitionValues.view)) {
                    childTransition.captureStartValues(transitionValues);
                    childTransition.captureStartValues(transitionValues);
                }
                }
            }
            }
@@ -340,10 +323,9 @@ public class TransitionSet extends Transition {


    @Override
    @Override
    public void captureEndValues(TransitionValues transitionValues) {
    public void captureEndValues(TransitionValues transitionValues) {
        int targetId = transitionValues.view.getId();
        if (isValidTarget(transitionValues.view)) {
        if (isValidTarget(transitionValues.view, targetId)) {
            for (Transition childTransition : mTransitions) {
            for (Transition childTransition : mTransitions) {
                if (childTransition.isValidTarget(transitionValues.view, targetId)) {
                if (childTransition.isValidTarget(transitionValues.view)) {
                    childTransition.captureEndValues(transitionValues);
                    childTransition.captureEndValues(transitionValues);
                }
                }
            }
            }
+3 −3
Original line number Original line Diff line number Diff line
@@ -24,7 +24,7 @@ import android.view.View;
class TransitionValuesMaps {
class TransitionValuesMaps {
    ArrayMap<View, TransitionValues> viewValues =
    ArrayMap<View, TransitionValues> viewValues =
            new ArrayMap<View, TransitionValues>();
            new ArrayMap<View, TransitionValues>();
    SparseArray<TransitionValues> idValues = new SparseArray<TransitionValues>();
    SparseArray<View> idValues = new SparseArray<View>();
    LongSparseArray<TransitionValues> itemIdValues =
    LongSparseArray<View> itemIdValues = new LongSparseArray<View>();
            new LongSparseArray<TransitionValues>();
    ArrayMap<String, View> nameValues = new ArrayMap<String, View>();
}
}
Loading