Merge "Add onEndCallback to ContainerAnimationRunner" into tm-qpr-dev

This commit is contained in:
Johannes Gallmann
2023-03-06 18:55:49 +00:00
committed by Android (Google) Code Review

View File

@@ -299,7 +299,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
ItemInfo tag = (ItemInfo) v.getTag();
if (tag != null && tag.shouldUseBackgroundAnimation()) {
ContainerAnimationRunner containerAnimationRunner =
ContainerAnimationRunner.from(v, mStartingWindowListener);
ContainerAnimationRunner.from(v, mStartingWindowListener, onEndCallback);
if (containerAnimationRunner != null) {
delegateRunner = containerAnimationRunner;
}
@@ -1757,7 +1757,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
@Nullable
private static ContainerAnimationRunner from(
View v, StartingWindowListener startingWindowListener) {
View v, StartingWindowListener startingWindowListener, RunnableList onEndCallback) {
View viewToUse = findViewWithBackground(v);
if (viewToUse == null) {
viewToUse = v;
@@ -1784,8 +1784,15 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
ActivityLaunchAnimator.Callback callback = task -> ColorUtils.setAlphaComponent(
startingWindowListener.getBackgroundColor(), 255);
ActivityLaunchAnimator.Listener listener = new ActivityLaunchAnimator.Listener() {
@Override
public void onLaunchAnimationEnd() {
onEndCallback.executeAllAndDestroy();
}
};
return new ContainerAnimationRunner(
new ActivityLaunchAnimator.AnimationDelegate(controller, callback));
new ActivityLaunchAnimator.AnimationDelegate(controller, callback, listener));
}
/** Finds the closest parent of [view] (inclusive) with a background drawable. */