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

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

Merge "Fix people header placement when only hub visible" into rvc-dev

parents 243ac3d3 6de51a70
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -332,6 +332,10 @@ public class NotificationSectionsManager implements StackScrollAlgorithm.Section
                // Put it at the end of the list.
                peopleHeaderTarget = lastNotifIndex;
            }
            // Offset the target to account for the current position of the people header.
            if (currentPeopleHeaderIdx != -1 && currentPeopleHeaderIdx < peopleHeaderTarget) {
                peopleHeaderTarget--;
            }
        }

        // Add headers in reverse order to preserve indices
@@ -459,6 +463,11 @@ public class NotificationSectionsManager implements StackScrollAlgorithm.Section
        return mPeopleHubView;
    }

    @VisibleForTesting
    void setPeopleHubVisible(boolean visible) {
        mPeopleHubVisible = visible;
    }

    private final ConfigurationListener mConfigurationListener = new ConfigurationListener() {
        @Override
        public void onLocaleListChanged() {
+18 −0
Original line number Diff line number Diff line
@@ -315,6 +315,24 @@ public class NotificationSectionsManagerTest extends SysuiTestCase {
        verify(mNssl).changeViewPosition(mSectionsManager.getPeopleHeaderView(), 0);
    }

    @Test
    public void testPeopleFiltering_keepPeopleHeaderWhenSectionEmpty() {
        mSectionsManager.setPeopleHubVisible(true);
        enablePeopleFiltering();

        setStackState(
                ChildType.PEOPLE_HEADER,
                ChildType.ALERTING_HEADER,
                ChildType.ALERTING,
                ChildType.GENTLE_HEADER,
                ChildType.GENTLE
        );
        mSectionsManager.updateSectionBoundaries();

        verify(mNssl, never()).removeView(mSectionsManager.getPeopleHeaderView());
        verify(mNssl).changeViewPosition(mSectionsManager.getPeopleHeaderView(), 0);
    }

    private void enablePeopleFiltering() {
        when(mSectionsFeatureManager.isFilteringEnabled()).thenReturn(true);
        when(mSectionsFeatureManager.getNumberOfBuckets()).thenReturn(4);