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

Commit 6fe9c3e5 authored by Vinit Nayak's avatar Vinit Nayak Committed by Android (Google) Code Review
Browse files

Merge "Revert "Revert "Hold WeakReference to split callback""" into main

parents 0b6b3e9e bb9fe162
Loading
Loading
Loading
Loading
+5 −4
Original line number Original line Diff line number Diff line
@@ -101,6 +101,7 @@ import com.android.systemui.shared.system.RemoteAnimationRunnerCompat;
import com.android.wm.shell.splitscreen.ISplitSelectListener;
import com.android.wm.shell.splitscreen.ISplitSelectListener;


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


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


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


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