diff options
| author | 2014-09-10 10:58:08 -0700 | |
|---|---|---|
| committer | 2014-09-11 14:59:58 -0700 | |
| commit | 04600023d096dfd7ed2b53d6ee273c57b6c2c20f (patch) | |
| tree | 359d0d5e4c529bcd15dcc2d37642dd31356518e4 | |
| parent | 8232d822aa97e78e982ed154ac618cde34baac2a (diff) | |
Fixed: TransitionSet setStartDelay did nothing.
Bug 17452965
Change-Id: Id2fd6ed3bd8e7156dd3d22dcd83117cec12e3528
| -rw-r--r-- | core/java/android/transition/TransitionSet.java | 15 |
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); } |