Clean-up split pendingremote when merged
Otherwise, following transitions mistakenly use the remote
which can cause it to get into a broken state.
Bug: 228883780
Test: go into split, quickswitch, quickswitch back, drag-divider
to dismiss.
Change-Id: Ic2740cca08e3539247f0703d693b252b7e18406d
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java index 4ff9d48..60dd255 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/SplitScreenTransitions.java
@@ -66,7 +66,7 @@ IBinder mPendingRecent = null; private IBinder mAnimatingTransition = null; - private OneShotRemoteHandler mPendingRemoteHandler = null; + OneShotRemoteHandler mPendingRemoteHandler = null; private OneShotRemoteHandler mActiveRemoteHandler = null; private final Transitions.TransitionFinishCallback mRemoteFinishCB = this::onFinish;
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java index bb434e2..a544e52 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
@@ -1432,6 +1432,7 @@ final SurfaceControl.Transaction t = mTransactionPool.acquire(); finishEnterSplitScreen(t); mSplitTransitions.mPendingEnter = null; + mSplitTransitions.mPendingRemoteHandler = null; t.apply(); mTransactionPool.release(t); }