Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5d72874 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents f20506f4 0a6085e8
Loading
Loading
Loading
Loading
+11 −5
Original line number Original line Diff line number Diff line
@@ -189,6 +189,8 @@ public class TransitionManager {
        final ViewGroup sceneRoot = scene.getSceneRoot();
        final ViewGroup sceneRoot = scene.getSceneRoot();
        if (!sPendingTransitions.contains(sceneRoot)) {
        if (!sPendingTransitions.contains(sceneRoot)) {
            if (transition == null) {
            if (transition == null) {
                exitPreviousScene(sceneRoot);

                scene.enter();
                scene.enter();
            } else {
            } else {
                sPendingTransitions.add(sceneRoot);
                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
    @UnsupportedAppUsage
    private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() {
    private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() {
        WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> runningTransitions =
        WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> runningTransitions =
@@ -339,11 +349,7 @@ public class TransitionManager {
            transition.captureValues(sceneRoot, true);
            transition.captureValues(sceneRoot, true);
        }
        }


        // Notify previous scene that it is being exited
        exitPreviousScene(sceneRoot);
        Scene previousScene = Scene.getCurrentScene(sceneRoot);
        if (previousScene != null) {
            previousScene.exit();
        }
    }
    }


    /**
    /**