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

Commit 3f5e3ad4 authored by Vinit Nayak's avatar Vinit Nayak
Browse files

Hold WeakReference to split callback

Bug: 297135374
Change-Id: I6763cd56fe25735998bf11ec9c682831b5d80beb
parent aa619b90
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ import com.android.systemui.shared.system.RemoteAnimationRunnerCompat;
import com.android.wm.shell.splitscreen.ISplitSelectListener;

import java.io.PrintWriter;
import java.lang.ref.WeakReference;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@@ -567,13 +568,13 @@ public class SplitSelectStateController {

        private final int mInitialTaskId;
        private final int mSecondTaskId;
        private final Consumer<Boolean> mSuccessCallback;
        private final WeakReference<Consumer<Boolean>> mSuccessCallback;

        RemoteSplitLaunchTransitionRunner(int initialTaskId, int secondTaskId,
                @Nullable Consumer<Boolean> callback) {
            mInitialTaskId = initialTaskId;
            mSecondTaskId = secondTaskId;
            mSuccessCallback = callback;
            mSuccessCallback = new WeakReference<>(callback);
        }

        @Override
@@ -593,8 +594,8 @@ public class SplitSelectStateController {
                TaskViewUtils.composeRecentsSplitLaunchAnimator(mLaunchingTaskView, mStateManager,
                        mDepthController, mInitialTaskId, mSecondTaskId, info, t, () -> {
                            finishAdapter.run();
                            if (mSuccessCallback != null) {
                                mSuccessCallback.accept(true);
                            if (mSuccessCallback.get() != null) {
                                mSuccessCallback.get().accept(true);
                            }
                            resetState();
                        });