[automerge] DO NOT MERGE Fix divider animation from overview screen 2p: 7214fd7e2e

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

Change-Id: I134abce4b81e965adc062410717256de9d9a20a3
This commit is contained in:
Tony Huang
2022-01-21 10:03:26 +00:00
committed by Presubmit Automerger Backend

View File

@@ -365,8 +365,10 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
void startTasksWithLegacyTransition(int mainTaskId, @Nullable Bundle mainOptions,
int sideTaskId, @Nullable Bundle sideOptions, @SplitPosition int sidePosition,
float splitRatio, RemoteAnimationAdapter adapter) {
// Ensure divider is invisible before transition.
setDividerVisibility(false /* visible */);
// Init divider first to make divider leash for remote animation target.
setDividerVisibility(true /* visible */);
mSplitLayout.init();
// Set false to avoid record new bounds with old task still on top;
mShouldUpdateRecents = false;
final WindowContainerTransaction wct = new WindowContainerTransaction();
@@ -396,6 +398,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
public void onAnimationFinished() throws RemoteException {
mIsDividerRemoteAnimating = false;
mShouldUpdateRecents = true;
setDividerVisibility(true /* visible */);
mSyncQueue.queue(evictWct);
mSyncQueue.runInSync(t -> applyDividerVisibility(t));
finishedCallback.onAnimationFinished();
@@ -420,6 +423,7 @@ class StageCoordinator implements SplitLayout.SplitLayoutHandler,
public void onAnimationCancelled() {
mIsDividerRemoteAnimating = false;
mShouldUpdateRecents = true;
setDividerVisibility(true /* visible */);
mSyncQueue.queue(evictWct);
mSyncQueue.runInSync(t -> applyDividerVisibility(t));
try {