From 710e683523aab612dfe51b2158de830418543ca9 Mon Sep 17 00:00:00 2001 From: Tony Huang Date: Wed, 9 Mar 2022 11:32:55 +0800 Subject: [PATCH] Fix NPE when quick switch on shell transition Some function call in finishEnterSplitScreen should be non-null so passing transcation to it instaed of null. Fix: 223396097 Test: manual Test: pass existing tests Change-Id: I0c3e2ab3d04191eabf749bda0f5bb0c11c09723a --- .../com/android/wm/shell/splitscreen/StageCoordinator.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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 1a5e3f26ab37e..730857e917743 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 @@ -1329,8 +1329,11 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler, // Once the pending enter transition got merged, make sure to bring divider bar visible and // clear the pending transition from cache to prevent mess-up the following state. if (transition == mSplitTransitions.mPendingEnter) { - finishEnterSplitScreen(null); + final SurfaceControl.Transaction t = mTransactionPool.acquire(); + finishEnterSplitScreen(t); mSplitTransitions.mPendingEnter = null; + t.apply(); + mTransactionPool.release(t); } }