Commit c5c275db authored by Shakti Sahu's avatar Shakti Sahu Committed by Commit Bot

Download Home : Dont show headers when showing prefetch tab

This CL adds the following changes:
1 - On prefetch tab, date headers and section headers are not shown.
2 - On chips other than type ALL, section headers are not shown.

Bug: 866307
Change-Id: I0f184f31a80fc1d4e5defab780f430590532f517
Reviewed-on: https://chromium-review.googlesource.com/1162517
Commit-Queue: Shakti Sahu <shaktisahu@chromium.org>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#581107}
parent 9a3a2fb3
......@@ -141,6 +141,7 @@ class DateOrderedListMediator {
* @see TypeOfflineItemFilter#onFilterSelected(int)
*/
public void onFilterTypeSelected(@FilterType int filter) {
mListMutator.onFilterTypeSelected(filter);
try (AnimationDisableClosable closeable = new AnimationDisableClosable()) {
mTypeFilter.onFilterSelected(filter);
}
......
......@@ -37,9 +37,12 @@ import java.util.TreeMap;
class DateOrderedListMutator implements OfflineItemFilterObserver {
private final ListItemModel mModel;
private Map<Date, DateGroup> mDateGroups =
private final Map<Date, DateGroup> mDateGroups =
new TreeMap<>((lhs, rhs) -> { return rhs.compareTo(lhs); });
private boolean mHideAllHeaders;
private boolean mHideSectionHeaders;
/**
* Creates an DateOrderedList instance that will reflect {@code source}.
* @param source The source of data for this list.
......@@ -51,6 +54,15 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
onItemsAdded(source.getItems());
}
/**
* Called when the selected tab or chip has changed.
* @param filter The currently selected filter type.
*/
public void onFilterTypeSelected(@Filters.FilterType int filter) {
mHideAllHeaders = filter == Filters.FilterType.PREFETCHED;
mHideSectionHeaders = filter != Filters.FilterType.NONE;
}
// OfflineItemFilterObserver implementation.
@Override
public void onItemsAdded(Collection<OfflineItem> items) {
......@@ -121,17 +133,21 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
int sectionIndex = 0;
// Add an item for the date header.
listItems.add(new DateListItem(CalendarUtils.getStartOfDay(date.getTime())));
if (!mHideAllHeaders) {
listItems.add(new DateListItem(CalendarUtils.getStartOfDay(date.getTime())));
}
// For each section.
for (Integer filter : dateGroup.sections.keySet()) {
Section section = dateGroup.sections.get(filter);
// Add a section header.
SectionHeaderListItem sectionHeaderItem =
new SectionHeaderListItem(filter, date.getTime());
sectionHeaderItem.isFirstSectionOfDay = sectionIndex == 0;
listItems.add(sectionHeaderItem);
if (!mHideSectionHeaders && !mHideAllHeaders) {
SectionHeaderListItem sectionHeaderItem =
new SectionHeaderListItem(filter, date.getTime());
sectionHeaderItem.isFirstSectionOfDay = sectionIndex == 0;
listItems.add(sectionHeaderItem);
}
// Add the items in the section.
for (OfflineItem item : section.items.values()) {
......@@ -139,14 +155,14 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
}
// Add a section separator if needed.
if (sectionIndex < dateGroup.sections.size() - 1) {
if (!mHideAllHeaders && sectionIndex < dateGroup.sections.size() - 1) {
listItems.add(new SeparatorViewListItem(date.getTime(), filter));
}
sectionIndex++;
}
// Add a date separator if needed.
if (dateIndex < mDateGroups.size() - 1) {
if (!mHideAllHeaders && dateIndex < mDateGroups.size() - 1) {
listItems.add(new SeparatorViewListItem(date.getTime()));
}
dateIndex++;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment