Merge "Fix no response after entered split screen" into tm-qpr-dev am: d64db8b5a6

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/19837470

Change-Id: I326669a59587fe80bdc493f240fe14db8dc6d974
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jerry Chang
2022-09-06 07:33:56 +00:00
committed by Automerger Merge Worker

View File

@@ -589,17 +589,17 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
return; return;
} }
// The surfaces of splitting tasks were placed with window bounds when preparing the // Wrap the divider bar into non-apps target to animate together.
// transition, so update divider surface separately. nonApps = ArrayUtils.appendElement(RemoteAnimationTarget.class, nonApps,
final RemoteAnimationTarget dividerTarget = getDividerBarLegacyTarget(); getDividerBarLegacyTarget());
mSplitLayout.getRefDividerBounds(mTempRect1);
t.setLayer(dividerTarget.leash, Integer.MAX_VALUE)
.setPosition(dividerTarget.leash, mTempRect1.left, mTempRect1.top);
setDividerVisibility(true, t);
updateSurfaceBounds(mSplitLayout, t, false);
setDividerVisibility(true, t);
for (int i = 0; i < apps.length; ++i) { for (int i = 0; i < apps.length; ++i) {
if (apps[i].mode == MODE_OPENING) { if (apps[i].mode == MODE_OPENING) {
t.show(apps[i].leash); 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(); t.apply();
@@ -614,9 +614,8 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler,
}; };
Transitions.setRunningRemoteTransitionDelegate(adapter.getCallingApplication()); Transitions.setRunningRemoteTransitionDelegate(adapter.getCallingApplication());
try { try {
adapter.getRunner().onAnimationStart(transit, apps, wallpapers, adapter.getRunner().onAnimationStart(
ArrayUtils.appendElement(RemoteAnimationTarget.class, nonApps, transit, apps, wallpapers, nonApps, wrapCallback);
dividerTarget), wrapCallback);
} catch (RemoteException e) { } catch (RemoteException e) {
Slog.e(TAG, "Error starting remote animation", e); Slog.e(TAG, "Error starting remote animation", e);
} }