Merge "Animate notification shade footer" into sc-dev am: adc3f0b6c1

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/14948801

Change-Id: I5dac0131b416025031edfe1bfc7d7893562f21e5
This commit is contained in:
Jay Aliomer
2021-06-15 18:52:50 +00:00
committed by Automerger Merge Worker
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()) {