diff options
| author | 2018-09-28 01:27:34 +0100 | |
|---|---|---|
| committer | 2018-09-28 19:39:58 +0000 | |
| commit | 0cf6e6f0a44bdbac253e16b92fef7be4facfd5cd (patch) | |
| tree | f0a15757724363ee7ab998cee71a7d8805247717 | |
| parent | 914857349e66eb3ce4361c412797319ea0a24386 (diff) | |
Keep scene change code in framework transitions in sync with AndroidX
Bug: 65536124
Test: cts/TransitionManagerTest
Change-Id: I976f07899c7d6ef68acbcc207ddb07ae5ac7f28f
| -rw-r--r-- | core/java/android/transition/TransitionManager.java | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java index c4ef77a3e7ae..4608e205ec7c 100644 --- a/core/java/android/transition/TransitionManager.java +++ b/core/java/android/transition/TransitionManager.java @@ -188,8 +188,12 @@ public class TransitionManager { final ViewGroup sceneRoot = scene.getSceneRoot(); if (!sPendingTransitions.contains(sceneRoot)) { + Scene oldScene = Scene.getCurrentScene(sceneRoot); if (transition == null) { - exitPreviousScene(sceneRoot); + // Notify old scene that it is being exited + if (oldScene != null) { + oldScene.exit(); + } scene.enter(); } else { @@ -198,7 +202,6 @@ public class TransitionManager { Transition transitionClone = transition.clone(); transitionClone.setSceneRoot(sceneRoot); - Scene oldScene = Scene.getCurrentScene(sceneRoot); if (oldScene != null && oldScene.isCreatedFromLayoutResource()) { transitionClone.setCanRemoveViews(true); } @@ -212,14 +215,6 @@ public class TransitionManager { } } - private static void exitPreviousScene(final ViewGroup sceneRoot) { - // Notify previous scene that it is being exited - final Scene previousScene = Scene.getCurrentScene(sceneRoot); - if (previousScene != null) { - previousScene.exit(); - } - } - @UnsupportedAppUsage private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() { WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> runningTransitions = @@ -349,7 +344,11 @@ public class TransitionManager { transition.captureValues(sceneRoot, true); } - exitPreviousScene(sceneRoot); + // Notify previous scene that it is being exited + Scene previousScene = Scene.getCurrentScene(sceneRoot); + if (previousScene != null) { + previousScene.exit(); + } } /** |