[Overview Actions] Hide task view footers when it's modal.
Demo: https://drive.google.com/a/google.com/file/d/1sXfHG0aMe7OzmIx7uZLAincvg6KizCLj/view?usp=sharing
Test: local
Bug: 151745339
Change-Id: Icf1263b87dbada2025a2d494bf1f2f067584f8c4
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
index c94b56c..56e3632 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/views/TaskView.java
@@ -247,8 +247,17 @@
/** Updates UI based on whether the task is modal. */
public void updateUiForModalTask() {
+ boolean isOverlayModal = isTaskOverlayModal();
if (getRecentsView() != null) {
- getRecentsView().updateUiForModalTask(this, isTaskOverlayModal());
+ getRecentsView().updateUiForModalTask(this, isOverlayModal);
+ }
+ // Hide footers when overlay is modal.
+ if (isOverlayModal) {
+ for (FooterWrapper footer : mFooters) {
+ if (footer != null) {
+ footer.animateHide();
+ }
+ }
}
}
@@ -780,6 +789,22 @@
animator.setDuration(100);
animator.start();
}
+
+ void animateHide() {
+ ValueAnimator animator = ValueAnimator.ofFloat(0.0f, 1.0f);
+ animator.addUpdateListener(anim -> {
+ mFooterVerticalOffset = anim.getAnimatedFraction();
+ updateFooterOffset();
+ });
+ animator.addListener(new AnimatorListenerAdapter() {
+ @Override
+ public void onAnimationEnd(Animator animation) {
+ removeView(mView);
+ }
+ });
+ animator.setDuration(100);
+ animator.start();
+ }
}
@Override