diff options
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/transition/TransitionSet.java | 25 | ||||
| -rw-r--r-- | policy/src/com/android/internal/policy/impl/PhoneWindow.java | 4 |
3 files changed, 31 insertions, 0 deletions
diff --git a/api/current.txt b/api/current.txt index 2ae572117ceb..93f30d6e9548 100644 --- a/api/current.txt +++ b/api/current.txt @@ -32242,6 +32242,8 @@ package android.transition { method public void captureEndValues(android.transition.TransitionValues); method public void captureStartValues(android.transition.TransitionValues); method public int getOrdering(); + method public android.transition.Transition getTransitionAt(int); + method public int getTransitionCount(); method public android.transition.TransitionSet removeTransition(android.transition.Transition); method public android.transition.TransitionSet setOrdering(int); field public static final int ORDERING_SEQUENTIAL = 1; // 0x1 diff --git a/core/java/android/transition/TransitionSet.java b/core/java/android/transition/TransitionSet.java index 83c60af60880..68af2d1686e9 100644 --- a/core/java/android/transition/TransitionSet.java +++ b/core/java/android/transition/TransitionSet.java @@ -151,6 +151,31 @@ public class TransitionSet extends Transition { } /** + * Returns the number of child transitions in the TransitionSet. + * + * @return The number of child transitions in the TransitionSet. + * @see #addTransition(Transition) + * @see #getTransitionAt(int) + */ + public int getTransitionCount() { + return mTransitions.size(); + } + + /** + * Returns the child Transition at the specified position in the TransitionSet. + * + * @param index The position of the Transition to retrieve. + * @see #addTransition(Transition) + * @see #getTransitionCount() + */ + public Transition getTransitionAt(int index) { + if (index < 0 || index >= mTransitions.size()) { + return null; + } + return mTransitions.get(index); + } + + /** * Setting a non-negative duration on a TransitionSet causes all of the child * transitions (current and future) to inherit this duration. * diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindow.java b/policy/src/com/android/internal/policy/impl/PhoneWindow.java index 964acbdc3433..73358c8166fd 100644 --- a/policy/src/com/android/internal/policy/impl/PhoneWindow.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindow.java @@ -3559,6 +3559,10 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { if (transitionId != -1 && transitionId != R.transition.no_transition) { TransitionInflater inflater = TransitionInflater.from(getContext()); transition = inflater.inflateTransition(transitionId); + if (transition instanceof TransitionSet && + ((TransitionSet)transition).getTransitionCount() == 0) { + transition = null; + } } return transition; } |