diff options
author | George Mount <mount@google.com> | 2015-06-26 21:18:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-06-26 21:18:57 +0000 |
commit | 3ebcd8654d92da375e7ca6c74b4ba9dc6bb9ec4c (patch) | |
tree | 5b29dce3acb54b24e030457c5a76468c1b5b6b6c /core/java/android/transition | |
parent | 7a0f54b1400c9ca0cb32819dd3a3784f9aa7c351 (diff) | |
parent | 800320933e849cc370a96d032c65fbddcc4fac9d (diff) | |
download | frameworks_base-3ebcd8654d92da375e7ca6c74b4ba9dc6bb9ec4c.zip frameworks_base-3ebcd8654d92da375e7ca6c74b4ba9dc6bb9ec4c.tar.gz frameworks_base-3ebcd8654d92da375e7ca6c74b4ba9dc6bb9ec4c.tar.bz2 |
Merge "Fix endTransition index out of bounds exception." into mnc-dev
Diffstat (limited to 'core/java/android/transition')
-rw-r--r-- | core/java/android/transition/TransitionManager.java | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java index 5209f90..71c8099 100644 --- a/core/java/android/transition/TransitionManager.java +++ b/core/java/android/transition/TransitionManager.java @@ -435,10 +435,11 @@ public class TransitionManager { sPendingTransitions.remove(sceneRoot); final ArrayList<Transition> runningTransitions = getRunningTransitions().get(sceneRoot); - if (runningTransitions != null) { - final int count = runningTransitions.size(); - for (int i = 0; i < count; i++) { - final Transition transition = runningTransitions.get(i); + if (runningTransitions != null && !runningTransitions.isEmpty()) { + // Make a copy in case this is called by an onTransitionEnd listener + ArrayList<Transition> copy = new ArrayList(runningTransitions); + for (int i = copy.size() - 1; i >= 0; i--) { + final Transition transition = copy.get(i); transition.end(); } } |