Merge "Fix people header placement when only hub visible" into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
f3aea16bdb
@@ -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() {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user