Merge "Set SurfaceTransactionApplier on non-stale RemoteAnimationTargets" into sc-v2-dev

This commit is contained in:
Vinit Nayak 2021-10-05 21:44:34 +00:00 committed by Android (Google) Code Review
commit 0ff2ad6ff4
1 changed files with 10 additions and 4 deletions

View File

@ -4237,13 +4237,19 @@ public abstract class RecentsView<ACTIVITY_TYPE extends StatefulActivity<STATE_T
return; return;
} }
if (mSyncTransactionApplier != null) {
recentsAnimationTargets.addReleaseCheck(mSyncTransactionApplier);
}
RemoteTargetGluer gluer = new RemoteTargetGluer(getContext(), getSizeStrategy()); RemoteTargetGluer gluer = new RemoteTargetGluer(getContext(), getSizeStrategy());
mRemoteTargetHandles = gluer.assignTargetsForSplitScreen(recentsAnimationTargets); mRemoteTargetHandles = gluer.assignTargetsForSplitScreen(recentsAnimationTargets);
mSplitBoundsConfig = gluer.getStagedSplitBounds(); mSplitBoundsConfig = gluer.getStagedSplitBounds();
if (mSyncTransactionApplier != null) {
// Add release check to the targets from the RemoteTargetGluer and not the targets
// passed in because in the event we're in split screen, we use the passed in targets
// to create new RemoteAnimationTargets in assignTargetsForSplitScreen(), and the
// mSyncTransactionApplier doesn't get transferred over
runActionOnRemoteHandles(remoteTargetHandle -> remoteTargetHandle
.getTransformParams().getTargetSet()
.addReleaseCheck(mSyncTransactionApplier));
}
TaskView runningTaskView = getRunningTaskView(); TaskView runningTaskView = getRunningTaskView();
if (runningTaskView instanceof GroupedTaskView) { if (runningTaskView instanceof GroupedTaskView) {
// We initially create a GroupedTaskView in showCurrentTask() before launcher even // We initially create a GroupedTaskView in showCurrentTask() before launcher even