Merge "Call Scene's exit action when use TransitionManager.go() with null transition"
This commit is contained in:
committed by
Android (Google) Code Review
commit
f5d728745d
@@ -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);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user