[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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user