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

Commit c1fd89ee authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

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

Change-Id: Ice7526004cf96624ab9f923268b4cc2ba3478352
parents 40dba2d3 f3aea16b
Loading
Loading
Loading
Loading
+9 −0
Original line number Original line Diff line number Diff line
@@ -332,6 +332,10 @@ public class NotificationSectionsManager implements StackScrollAlgorithm.Section
                // Put it at the end of the list.
                // Put it at the end of the list.
                peopleHeaderTarget = lastNotifIndex;
                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
        // Add headers in reverse order to preserve indices
@@ -459,6 +463,11 @@ public class NotificationSectionsManager implements StackScrollAlgorithm.Section
        return mPeopleHubView;
        return mPeopleHubView;
    }
    }


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

    private final ConfigurationListener mConfigurationListener = new ConfigurationListener() {
    private final ConfigurationListener mConfigurationListener = new ConfigurationListener() {
        @Override
        @Override
        public void onLocaleListChanged() {
        public void onLocaleListChanged() {
+18 −0
Original line number Original line Diff line number Diff line
@@ -315,6 +315,24 @@ public class NotificationSectionsManagerTest extends SysuiTestCase {
        verify(mNssl).changeViewPosition(mSectionsManager.getPeopleHeaderView(), 0);
        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() {
    private void enablePeopleFiltering() {
        when(mSectionsFeatureManager.isFilteringEnabled()).thenReturn(true);
        when(mSectionsFeatureManager.isFilteringEnabled()).thenReturn(true);
        when(mSectionsFeatureManager.getNumberOfBuckets()).thenReturn(4);
        when(mSectionsFeatureManager.getNumberOfBuckets()).thenReturn(4);