Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cecbd506 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Add null checks for notification shelf" into sc-dev

parents 81c20075 e859a824
Loading
Loading
Loading
Loading
+18 −12
Original line number Diff line number Diff line
@@ -272,6 +272,7 @@ public class StackScrollAlgorithm {
                currentY += mGapHeight;
            }

            if (ambientState.getShelf() != null) {
                // Save index of first view in the shelf
                final float shelfStart = ambientState.getStackEndHeight()
                        - ambientState.getShelf().getIntrinsicHeight();
@@ -280,6 +281,7 @@ public class StackScrollAlgorithm {
                        && state.firstViewInShelf == null) {
                    state.firstViewInShelf = view;
                }
            }

            // Record y position when fully expanded
            ExpansionData expansionData = new ExpansionData();
@@ -298,11 +300,15 @@ public class StackScrollAlgorithm {
                float sectionEnd = state.expansionData.get(sectionEndView).fullyExpandedY
                        + sectionEndView.getIntrinsicHeight();

                if (ambientState.getShelf() != null) {
                    // If we show the shelf, trim section end to shelf start
                    // This means section end > start for views in the shelf
                    final float shelfStart = ambientState.getStackEndHeight()
                            - ambientState.getShelf().getIntrinsicHeight();
                    if (state.firstViewInShelf != null && sectionEnd > shelfStart) {
                        sectionEnd = shelfStart;
                    }
                }

                // Update section bounds of every view in the previous section
                // Consider using shared SectionInfo for views in same section to avoid looping back
@@ -460,7 +466,7 @@ public class StackScrollAlgorithm {
                        && i >= algorithmState.visibleChildren.indexOf(
                                algorithmState.firstViewInShelf)
                        && !(view instanceof FooterView);
            } else {
            } else if (ambientState.getShelf() != null) {
                // When pulsing (incoming notification on AOD), innerHeight is 0; clamp all
                // to shelf start, thereby hiding all notifications (except the first one, which we
                // later unhide in updatePulsingState)