diff --git a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java index 5b13eeb1eb..16fe07dfea 100644 --- a/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java +++ b/quickstep/src/com/android/quickstep/util/SplitSelectStateController.java @@ -101,7 +101,6 @@ 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; @@ -586,13 +585,13 @@ public class SplitSelectStateController { private final int mInitialTaskId; private final int mSecondTaskId; - private final WeakReference> mSuccessCallback; + private final Consumer mSuccessCallback; RemoteSplitLaunchTransitionRunner(int initialTaskId, int secondTaskId, @Nullable Consumer callback) { mInitialTaskId = initialTaskId; mSecondTaskId = secondTaskId; - mSuccessCallback = new WeakReference<>(callback); + mSuccessCallback = callback; } @Override @@ -611,8 +610,8 @@ public class SplitSelectStateController { TaskViewUtils.composeRecentsSplitLaunchAnimator(mLaunchingTaskView, mStateManager, mDepthController, mInitialTaskId, mSecondTaskId, info, t, () -> { finishAdapter.run(); - if (mSuccessCallback.get() != null) { - mSuccessCallback.get().accept(true); + if (mSuccessCallback != null) { + mSuccessCallback.accept(true); } resetState(); });