Revert "Revert "Hold WeakReference to split callback""

This reverts commit 06be7eb88e.

Reason for revert: Potential forward fix with ag/24562796

Change-Id: I1f01dda728491e627ec0cc34fd364cbd794854d5
This commit is contained in:
Vinit Nayak
2023-08-26 18:35:12 +00:00
parent 06be7eb88e
commit bb9fe16254
@@ -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();
});