summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andrey Kulikov <andreykulikov@google.com> 2018-09-28 01:27:34 +0100
committer Andrey Kulikov <andreykulikov@google.com> 2018-09-28 19:39:58 +0000
commit0cf6e6f0a44bdbac253e16b92fef7be4facfd5cd (patch)
treef0a15757724363ee7ab998cee71a7d8805247717
parent914857349e66eb3ce4361c412797319ea0a24386 (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.java21
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();
+ }
}
/**