summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author TreeHugger Robot <treehugger-gerrit@google.com> 2018-09-27 02:04:32 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2018-09-27 02:04:32 +0000
commitf5d728745de9e02519cbefcb3b1c32feef3f3c49 (patch)
tree88e9b52f0397ea8969077e194192c6cc4399743e
parentf20506f4a2dbcc1e9ea3354522209d99aaa17b22 (diff)
parent0a6085e87abcc144fe91094e70996262948a01a7 (diff)
Merge "Call Scene's exit action when use TransitionManager.go() with null transition"
-rw-r--r--core/java/android/transition/TransitionManager.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/core/java/android/transition/TransitionManager.java b/core/java/android/transition/TransitionManager.java
index f8e8762ef592..c4ef77a3e7ae 100644
--- a/core/java/android/transition/TransitionManager.java
+++ b/core/java/android/transition/TransitionManager.java
@@ -189,6 +189,8 @@ public class TransitionManager {
final ViewGroup sceneRoot = scene.getSceneRoot();
if (!sPendingTransitions.contains(sceneRoot)) {
if (transition == null) {
+ exitPreviousScene(sceneRoot);
+
scene.enter();
} else {
sPendingTransitions.add(sceneRoot);
@@ -210,6 +212,14 @@ 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 =
@@ -339,11 +349,7 @@ public class TransitionManager {
transition.captureValues(sceneRoot, true);
}
- // Notify previous scene that it is being exited
- Scene previousScene = Scene.getCurrentScene(sceneRoot);
- if (previousScene != null) {
- previousScene.exit();
- }
+ exitPreviousScene(sceneRoot);
}
/**