summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithm.java12
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)