summaryrefslogtreecommitdiffstats
path: root/core/java/android/transition/TransitionManager.java
diff options
context:
space:
mode:
authorGeorge Mount <mount@google.com>2015-03-03 15:28:44 -0800
committerGeorge Mount <mount@google.com>2015-03-03 15:28:44 -0800
commit96e54dcfa4e2f5295b0441971f10906eeaa35328 (patch)
treea8aef5361a79227edae06a1e913db3f57c2a76bf /core/java/android/transition/TransitionManager.java
parent2021ef006c1f0a93f2e53e5c48c60a65de65300e (diff)
downloadframeworks_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/transition/TransitionManager.java')
-rw-r--r--core/java/android/transition/TransitionManager.java29
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() {