Merge "Hide footer in place instead of scrolling it offscreen" into sc-dev

This commit is contained in:
Lyn Han
2021-05-03 21:16:12 +00:00
committed by Android (Google) Code Review

View File

@@ -400,10 +400,14 @@ public class StackScrollAlgorithm {
}
if (view instanceof FooterView) {
viewState.yTranslation = Math.min(viewState.yTranslation,
ambientState.getStackHeight());
// Hide footer if shelf is showing
viewState.hidden = algorithmState.firstViewInShelf != null;
final boolean isShelfShowing = algorithmState.firstViewInShelf != null;
final float footerEnd = viewState.yTranslation + view.getIntrinsicHeight();
final boolean noSpaceForFooter = footerEnd > ambientState.getStackHeight();
viewState.hidden = isShelfShowing
|| (!ambientState.isExpansionChanging() && noSpaceForFooter);
} else if (view != ambientState.getTrackedHeadsUpRow()) {
if (ambientState.isExpansionChanging()) {
// Show all views. Views below the shelf will later be clipped (essentially hidden)