Animate split confirmation after second app selection from workspace

Fixes: 239824922
Test: https://recall.googleplex.com/projects/f46cfe9c-8076-4efe-bf8a-b1cc4f1f5e1b/sessions/099acb31-1e05-4d00-a670-590c177a846e
Change-Id: Ifb769afcaf694a1157444f273da69331db15ab1a
This commit is contained in:
Tracy Zhou
2022-11-23 14:15:07 -08:00
parent 8267b7625f
commit c91ef50257
3 changed files with 90 additions and 5 deletions

View File

@@ -19,6 +19,8 @@ import static com.android.launcher3.config.FeatureFlags.ENABLE_SPLIT_FROM_WORKSP
import static com.android.launcher3.util.SplitConfigurationOptions.getLogEventForPosition;
import static com.android.quickstep.util.SplitAnimationTimings.TABLET_HOME_TO_SPLIT;
import android.animation.Animator;
import android.animation.AnimatorListenerAdapter;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Rect;
@@ -115,13 +117,19 @@ public interface QuickstepSystemShortcut {
PendingAnimation anim = new PendingAnimation(TABLET_HOME_TO_SPLIT.getDuration());
RectF startingTaskRect = new RectF();
FloatingTaskView floatingTaskView = FloatingTaskView.getFloatingTaskView(mTarget,
source.view, null /* thumbnail */,
source.drawable, startingTaskRect);
final FloatingTaskView floatingTaskView = FloatingTaskView.getFloatingTaskView(mTarget,
source.view, null /* thumbnail */, source.drawable, startingTaskRect);
floatingTaskView.setAlpha(1);
floatingTaskView.addStagingAnimation(anim, startingTaskRect, mTempRect,
false /* fadeWithThumbnail */, true /* isStagedTask */);
controller.setFirstFloatingTaskView(floatingTaskView);
anim.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationCancel(Animator animation) {
mTarget.getDragLayer().removeView(floatingTaskView);
controller.resetState();
}
});
anim.buildAnim().start();
}
}