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

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

Merge "Fix transition being canceled improperly." into lmp-mr1-dev

parents 03d5c6f5 cba01b23
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1790,6 +1790,10 @@ public abstract class Transition implements Cloneable {

    private static boolean isValueChanged(TransitionValues oldValues, TransitionValues newValues,
            String key) {
        if (oldValues.values.containsKey(key) != newValues.values.containsKey(key)) {
            // The transition didn't care about this particular value, so we don't care, either.
            return false;
        }
        Object oldValue = oldValues.values.get(key);
        Object newValue = newValues.values.get(key);
        boolean changed;
+9 −2
Original line number Diff line number Diff line
@@ -484,10 +484,17 @@ public abstract class Visibility extends Transition {

    @Override
    boolean areValuesChanged(TransitionValues oldValues, TransitionValues newValues) {
        VisibilityInfo changeInfo = getVisibilityChangeInfo(oldValues, newValues);
        if (oldValues == null && newValues == null) {
            return false;
        }
        if (oldValues != null && newValues != null &&
                newValues.values.containsKey(PROPNAME_VISIBILITY) !=
                        oldValues.values.containsKey(PROPNAME_VISIBILITY)) {
            // The transition wasn't targeted in either the start or end, so it couldn't
            // have changed.
            return false;
        }
        VisibilityInfo changeInfo = getVisibilityChangeInfo(oldValues, newValues);
        return changeInfo.visibilityChange && (changeInfo.startVisibility == View.VISIBLE ||
                changeInfo.endVisibility == View.VISIBLE);
    }