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

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

Merge "Keep scene change code in framework transitions in sync with AndroidX"

parents 3bc4ab48 0cf6e6f0
Loading
Loading
Loading
Loading
+10 −11
Original line number Diff line number Diff line
@@ -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();
        }
    }

    /**