Merge "Call Scene's exit action when use TransitionManager.go() with null transition"

This commit is contained in:
TreeHugger Robot
2018-09-27 02:04:32 +00:00
committed by Android (Google) Code Review

View File

@@ -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);
}
/**