Animate notification shade footer

Fixes: 187958424
Test: visual
Change-Id: I7adef54a713b856afce0c20b58850a239545881b
This commit is contained in:
Jay Aliomer
2021-06-11 12:54:09 -04:00
parent 08a0b629cb
commit 2e356496df
2 changed files with 9 additions and 4 deletions

View File

@@ -115,13 +115,18 @@ public class FooterView extends StackScrollerDecorView {
}
public class FooterViewState extends ExpandableViewState {
/**
* used to hide the content of the footer to animate.
* #hide is applied without animation, but #hideContent has animation.
*/
public boolean hideContent;
@Override
public void applyToView(View view) {
super.applyToView(view);
if (view instanceof FooterView) {
FooterView footerView = (FooterView) view;
boolean visible = this.clipTopAmount < mClearAllTopPadding;
footerView.setContentVisible(visible && footerView.isVisible());
footerView.setContentVisible(!hideContent);
}
}
}

View File

@@ -411,8 +411,8 @@ public class StackScrollAlgorithm {
final float footerEnd = algorithmState.mCurrentExpandedYPosition
+ view.getIntrinsicHeight();
final boolean noSpaceForFooter = footerEnd > ambientState.getStackEndHeight();
viewState.hidden = shadeClosed || isShelfShowing || noSpaceForFooter;
((FooterView.FooterViewState) viewState).hideContent =
shadeClosed || isShelfShowing || noSpaceForFooter;
} else if (view != ambientState.getTrackedHeadsUpRow()) {
if (ambientState.isExpansionChanging()) {