diff options
author | George Mount <mount@google.com> | 2015-03-03 15:28:44 -0800 |
---|---|---|
committer | George Mount <mount@google.com> | 2015-03-03 15:28:44 -0800 |
commit | 96e54dcfa4e2f5295b0441971f10906eeaa35328 (patch) | |
tree | a8aef5361a79227edae06a1e913db3f57c2a76bf /core/java/android | |
parent | 2021ef006c1f0a93f2e53e5c48c60a65de65300e (diff) | |
download | frameworks_base-96e54dcfa4e2f5295b0441971f10906eeaa35328.zip frameworks_base-96e54dcfa4e2f5295b0441971f10906eeaa35328.tar.gz frameworks_base-96e54dcfa4e2f5295b0441971f10906eeaa35328.tar.bz2 |
Fix TransitionManager.go not running transition.
Bug 19459362
Change-Id: I17595390c9fb289dec8de44447ca490c46570fb4
Diffstat (limited to 'core/java/android')
-rw-r--r-- | core/java/android/transition/TransitionManager.java | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java index 80245ef..0b70fdb 100644 --- a/core/java/android/transition/TransitionManager.java +++ b/core/java/android/transition/TransitionManager.java @@ -181,24 +181,27 @@ public class TransitionManager { private static void changeScene(Scene scene, Transition transition) { final ViewGroup sceneRoot = scene.getSceneRoot(); + if (!sPendingTransitions.contains(sceneRoot)) { + sPendingTransitions.add(sceneRoot); - Transition transitionClone = null; - if (transition != null) { - transitionClone = transition.clone(); - transitionClone.setSceneRoot(sceneRoot); - } + Transition transitionClone = null; + if (transition != null) { + transitionClone = transition.clone(); + transitionClone.setSceneRoot(sceneRoot); + } - Scene oldScene = Scene.getCurrentScene(sceneRoot); - if (oldScene != null && transitionClone != null && - oldScene.isCreatedFromLayoutResource()) { - transitionClone.setCanRemoveViews(true); - } + Scene oldScene = Scene.getCurrentScene(sceneRoot); + if (oldScene != null && transitionClone != null && + oldScene.isCreatedFromLayoutResource()) { + transitionClone.setCanRemoveViews(true); + } - sceneChangeSetup(sceneRoot, transitionClone); + sceneChangeSetup(sceneRoot, transitionClone); - scene.enter(); + scene.enter(); - sceneChangeRunTransition(sceneRoot, transitionClone); + sceneChangeRunTransition(sceneRoot, transitionClone); + } } private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() { |