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

Commit d1929115 authored by Yuichi Araki's avatar Yuichi Araki Committed by Android (Google) Code Review
Browse files

Merge "Fix race condition with GC in TransitionManager"

parents 24879d5b 7c10e1e5
Loading
Loading
Loading
Loading
+9 −7
Original line number Diff line number Diff line
@@ -210,14 +210,16 @@ public class TransitionManager {
    private static ArrayMap<ViewGroup, ArrayList<Transition>> getRunningTransitions() {
        WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>> runningTransitions =
                sRunningTransitions.get();
        if (runningTransitions == null || runningTransitions.get() == null) {
            ArrayMap<ViewGroup, ArrayList<Transition>> transitions =
                    new ArrayMap<ViewGroup, ArrayList<Transition>>();
            runningTransitions = new WeakReference<ArrayMap<ViewGroup, ArrayList<Transition>>>(
                    transitions);
            sRunningTransitions.set(runningTransitions);
        if (runningTransitions != null) {
            ArrayMap<ViewGroup, ArrayList<Transition>> transitions = runningTransitions.get();
            if (transitions != null) {
                return transitions;
            }
        }
        return runningTransitions.get();
        ArrayMap<ViewGroup, ArrayList<Transition>> transitions = new ArrayMap<>();
        runningTransitions = new WeakReference<>(transitions);
        sRunningTransitions.set(runningTransitions);
        return transitions;
    }

    private static void sceneChangeRunTransition(final ViewGroup sceneRoot,