am 850bca01: Merge "Only call setHasTransientState in captureHierarchy." into lmp-dev

* commit '850bca013baf35c99895009e94943f3f127b9e70':
  Only call setHasTransientState in captureHierarchy.
This commit is contained in:
George Mount
2014-09-08 15:00:15 +00:00
committed by Android Git Automerger
2 changed files with 12 additions and 8 deletions

View File

@@ -1417,9 +1417,9 @@ public abstract class Transition implements Cloneable {
}
capturePropagationValues(values);
if (start) {
addViewValues(mStartValues, view, values);
addViewValues(mStartValues, view, values, true);
} else {
addViewValues(mEndValues, view, values);
addViewValues(mEndValues, view, values, true);
}
}
}
@@ -1460,7 +1460,7 @@ public abstract class Transition implements Cloneable {
}
static void addViewValues(TransitionValuesMaps transitionValuesMaps,
View view, TransitionValues transitionValues) {
View view, TransitionValues transitionValues, boolean setTransientState) {
transitionValuesMaps.viewValues.put(view, transitionValues);
int id = view.getId();
if (id >= 0) {
@@ -1489,11 +1489,15 @@ public abstract class Transition implements Cloneable {
// Duplicate item IDs: cannot match by item ID.
View alreadyMatched = transitionValuesMaps.itemIdValues.get(itemId);
if (alreadyMatched != null) {
alreadyMatched.setHasTransientState(false);
if (setTransientState) {
alreadyMatched.setHasTransientState(false);
}
transitionValuesMaps.itemIdValues.put(itemId, null);
}
} else {
view.setHasTransientState(true);
if (setTransientState) {
view.setHasTransientState(true);
}
transitionValuesMaps.itemIdValues.put(itemId, view);
}
}
@@ -1560,9 +1564,9 @@ public abstract class Transition implements Cloneable {
}
capturePropagationValues(values);
if (start) {
addViewValues(mStartValues, view, values);
addViewValues(mStartValues, view, values, true);
} else {
addViewValues(mEndValues, view, values);
addViewValues(mEndValues, view, values, true);
}
}
if (view instanceof ViewGroup) {

View File

@@ -408,7 +408,7 @@ public class TransitionSet extends Transition {
for (int i = 0; i < numValues; i++) {
View view = values.viewValues.keyAt(i);
if (isValidTarget(view)) {
addViewValues(included, view, values.viewValues.valueAt(i));
addViewValues(included, view, values.viewValues.valueAt(i), false);
}
}
return included;