summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2014-09-08 14:52:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-08 14:52:34 +0000
commita740b2bf9a492df5301336e2533651fa90e57c6b (patch)
tree30c0d253a65c87518ed6489f4cfaaac80b5091cd /core
parent24e08d0692583fbb038ea26236d9700b9019f1f1 (diff)
parent21f54f39408d43705e4aa7060c562271ca2886f1 (diff)
downloadframeworks_base-a740b2bf9a492df5301336e2533651fa90e57c6b.zip
frameworks_base-a740b2bf9a492df5301336e2533651fa90e57c6b.tar.gz
frameworks_base-a740b2bf9a492df5301336e2533651fa90e57c6b.tar.bz2
Merge "Only call setHasTransientState in captureHierarchy." into lmp-dev
Diffstat (limited to 'core')
-rw-r--r--core/java/android/transition/Transition.java18
-rw-r--r--core/java/android/transition/TransitionSet.java2
2 files changed, 12 insertions, 8 deletions
diff --git a/core/java/android/transition/Transition.java b/core/java/android/transition/Transition.java
index 0d1b568..40bb6ec 100644
--- a/core/java/android/transition/Transition.java
+++ b/core/java/android/transition/Transition.java
@@ -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) {
diff --git a/core/java/android/transition/TransitionSet.java b/core/java/android/transition/TransitionSet.java
index f6499ae..56db674 100644
--- a/core/java/android/transition/TransitionSet.java
+++ b/core/java/android/transition/TransitionSet.java
@@ -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;