diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java index 27ee13ab4eaf..591d3c0a7a5f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java @@ -399,10 +399,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) |