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 { ...@@ -141,6 +141,7 @@ class DateOrderedListMediator {
* @see TypeOfflineItemFilter#onFilterSelected(int) * @see TypeOfflineItemFilter#onFilterSelected(int)
*/ */
public void onFilterTypeSelected(@FilterType int filter) { public void onFilterTypeSelected(@FilterType int filter) {
mListMutator.onFilterTypeSelected(filter);
try (AnimationDisableClosable closeable = new AnimationDisableClosable()) { try (AnimationDisableClosable closeable = new AnimationDisableClosable()) {
mTypeFilter.onFilterSelected(filter); mTypeFilter.onFilterSelected(filter);
} }
......
...@@ -37,9 +37,12 @@ import java.util.TreeMap; ...@@ -37,9 +37,12 @@ import java.util.TreeMap;
class DateOrderedListMutator implements OfflineItemFilterObserver { class DateOrderedListMutator implements OfflineItemFilterObserver {
private final ListItemModel mModel; private final ListItemModel mModel;
private Map<Date, DateGroup> mDateGroups = private final Map<Date, DateGroup> mDateGroups =
new TreeMap<>((lhs, rhs) -> { return rhs.compareTo(lhs); }); new TreeMap<>((lhs, rhs) -> { return rhs.compareTo(lhs); });
private boolean mHideAllHeaders;
private boolean mHideSectionHeaders;
/** /**
* Creates an DateOrderedList instance that will reflect {@code source}. * Creates an DateOrderedList instance that will reflect {@code source}.
* @param source The source of data for this list. * @param source The source of data for this list.
...@@ -51,6 +54,15 @@ class DateOrderedListMutator implements OfflineItemFilterObserver { ...@@ -51,6 +54,15 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
onItemsAdded(source.getItems()); 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. // OfflineItemFilterObserver implementation.
@Override @Override
public void onItemsAdded(Collection<OfflineItem> items) { public void onItemsAdded(Collection<OfflineItem> items) {
...@@ -121,17 +133,21 @@ class DateOrderedListMutator implements OfflineItemFilterObserver { ...@@ -121,17 +133,21 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
int sectionIndex = 0; int sectionIndex = 0;
// Add an item for the date header. // 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 each section.
for (Integer filter : dateGroup.sections.keySet()) { for (Integer filter : dateGroup.sections.keySet()) {
Section section = dateGroup.sections.get(filter); Section section = dateGroup.sections.get(filter);
// Add a section header. // Add a section header.
SectionHeaderListItem sectionHeaderItem = if (!mHideSectionHeaders && !mHideAllHeaders) {
new SectionHeaderListItem(filter, date.getTime()); SectionHeaderListItem sectionHeaderItem =
sectionHeaderItem.isFirstSectionOfDay = sectionIndex == 0; new SectionHeaderListItem(filter, date.getTime());
listItems.add(sectionHeaderItem); sectionHeaderItem.isFirstSectionOfDay = sectionIndex == 0;
listItems.add(sectionHeaderItem);
}
// Add the items in the section. // Add the items in the section.
for (OfflineItem item : section.items.values()) { for (OfflineItem item : section.items.values()) {
...@@ -139,14 +155,14 @@ class DateOrderedListMutator implements OfflineItemFilterObserver { ...@@ -139,14 +155,14 @@ class DateOrderedListMutator implements OfflineItemFilterObserver {
} }
// Add a section separator if needed. // 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)); listItems.add(new SeparatorViewListItem(date.getTime(), filter));
} }
sectionIndex++; sectionIndex++;
} }
// Add a date separator if needed. // Add a date separator if needed.
if (dateIndex < mDateGroups.size() - 1) { if (!mHideAllHeaders && dateIndex < mDateGroups.size() - 1) {
listItems.add(new SeparatorViewListItem(date.getTime())); listItems.add(new SeparatorViewListItem(date.getTime()));
} }
dateIndex++; 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