summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author George Mount <mount@google.com> 2014-09-10 10:58:08 -0700
committer George Mount <mount@google.com> 2014-09-11 14:59:58 -0700
commit04600023d096dfd7ed2b53d6ee273c57b6c2c20f (patch)
tree359d0d5e4c529bcd15dcc2d37642dd31356518e4
parent8232d822aa97e78e982ed154ac618cde34baac2a (diff)
Fixed: TransitionSet setStartDelay did nothing.
Bug 17452965 Change-Id: Id2fd6ed3bd8e7156dd3d22dcd83117cec12e3528
-rw-r--r--core/java/android/transition/TransitionSet.java15
1 files changed, 14 insertions, 1 deletions
diff --git a/core/java/android/transition/TransitionSet.java b/core/java/android/transition/TransitionSet.java
index f6499ae0fd04..46d247a2eef4 100644
--- a/core/java/android/transition/TransitionSet.java
+++ b/core/java/android/transition/TransitionSet.java
@@ -390,7 +390,20 @@ public class TransitionSet extends Transition {
ArrayList<TransitionValues> endValuesList) {
startValues = removeExcludes(startValues);
endValues = removeExcludes(endValues);
- for (Transition childTransition : mTransitions) {
+ long startDelay = getStartDelay();
+ int numTransitions = mTransitions.size();
+ for (int i = 0; i < numTransitions; i++) {
+ Transition childTransition = mTransitions.get(i);
+ // We only set the start delay on the first transition if we are playing
+ // the transitions sequentially.
+ if (startDelay > 0 && (mPlayTogether || i == 0)) {
+ long childStartDelay = childTransition.getStartDelay();
+ if (childStartDelay > 0) {
+ childTransition.setStartDelay(startDelay + childStartDelay);
+ } else {
+ childTransition.setStartDelay(startDelay);
+ }
+ }
childTransition.createAnimators(sceneRoot, startValues, endValues, startValuesList,
endValuesList);
}