Fix no response after entered split screen

Make sure to update stage root's bounds and reset the surface position
of opening apps to prevent double offset instead.

Fix: 245055674
Bug: 244671191
Test: enter split screen by long pressing on shortcut, anotehr side can
      receive touch events after entered split screen.
Change-Id: Ie186cfa3b1406514ce8c33cd7321b8b9df40af26
(cherry picked from commit 768ee2c04cc8ca9bb48b7564920cb88a98c86387)
Merged-In: Ie186cfa3b1406514ce8c33cd7321b8b9df40af26
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 8d405f4..199007d 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
@@ -589,17 +589,17 @@
                     return;
                 }
 
-                // The surfaces of splitting tasks were placed with window bounds when preparing the
-                // transition, so update divider surface separately.
-                final RemoteAnimationTarget dividerTarget = getDividerBarLegacyTarget();
-                mSplitLayout.getRefDividerBounds(mTempRect1);
-                t.setLayer(dividerTarget.leash, Integer.MAX_VALUE)
-                        .setPosition(dividerTarget.leash, mTempRect1.left, mTempRect1.top);
-                setDividerVisibility(true, t);
+                // Wrap the divider bar into non-apps target to animate together.
+                nonApps = ArrayUtils.appendElement(RemoteAnimationTarget.class, nonApps,
+                        getDividerBarLegacyTarget());
 
+                updateSurfaceBounds(mSplitLayout, t, false);
+                setDividerVisibility(true, t);
                 for (int i = 0; i < apps.length; ++i) {
                     if (apps[i].mode == MODE_OPENING) {
                         t.show(apps[i].leash);
+                        // Reset the surface position of the opening app to prevent double-offset.
+                        t.setPosition(apps[i].leash, 0, 0);
                     }
                 }
                 t.apply();
@@ -614,9 +614,8 @@
                         };
                 Transitions.setRunningRemoteTransitionDelegate(adapter.getCallingApplication());
                 try {
-                    adapter.getRunner().onAnimationStart(transit, apps, wallpapers,
-                            ArrayUtils.appendElement(RemoteAnimationTarget.class, nonApps,
-                                    dividerTarget), wrapCallback);
+                    adapter.getRunner().onAnimationStart(
+                            transit, apps, wallpapers, nonApps, wrapCallback);
                 } catch (RemoteException e) {
                     Slog.e(TAG, "Error starting remote animation", e);
                 }