From c54622c40685eaa369f14fa5d372a81e804d112c Mon Sep 17 00:00:00 2001 From: Evan Rosky Date: Thu, 14 Apr 2022 19:59:50 -0700 Subject: [PATCH] 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 --- .../android/wm/shell/splitscreen/SplitScreenTransitions.java | 2 +- .../src/com/android/wm/shell/splitscreen/StageCoordinator.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) 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 4ff9d48a37075..60dd255116675 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 @@ class SplitScreenTransitions { 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 bb434e26bb0a2..a544e52378910 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 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, final SurfaceControl.Transaction t = mTransactionPool.acquire(); finishEnterSplitScreen(t); mSplitTransitions.mPendingEnter = null; + mSplitTransitions.mPendingRemoteHandler = null; t.apply(); mTransactionPool.release(t); }