Chromium Code Reviews| Index: ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm |
| diff --git a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm b/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm |
| index ee0f2048beb7027c49dbde1da124275bd466a787..8a5c799b81ad633714efe9a9310267a15beaa194 100644 |
| --- a/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm |
| +++ b/ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm |
| @@ -17,6 +17,7 @@ |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_expandable_item.h" |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_item.h" |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_footer_item.h" |
| +#import "ios/chrome/browser/ui/content_suggestions/content_suggestions_header_item.h" |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_image_fetcher.h" |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_section_information.h" |
| #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_stack_item.h" |
| @@ -39,6 +40,7 @@ typedef NS_ENUM(NSInteger, ItemType) { |
| ItemTypeStack, |
| ItemTypeFavicon, |
| ItemTypeFooter, |
| + ItemTypeHeader, |
| }; |
| typedef NS_ENUM(NSInteger, SectionIdentifier) { |
| @@ -166,8 +168,10 @@ SectionIdentifier SectionIdentifierForInfo( |
| - (void)reloadAllData { |
| [self resetModels]; |
| - [self.collectionViewController |
| - addSuggestions:[self.dataSource allSuggestions]]; |
| + NSArray<ContentSuggestion*>* suggestions = [self.dataSource allSuggestions]; |
| + [self addSectionsForSuggestionsToModel:suggestions]; |
| + [self addSuggestionsToModel:suggestions]; |
| + [self.collectionViewController.collectionView reloadData]; |
|
gambard
2017/03/16 15:49:41
This is a bug fix, appearing only when you add hea
lpromero
2017/03/16 16:43:21
Can you explain more on the issue in a comment in
gambard
2017/03/17 09:33:39
Done.
|
| } |
| - (void)clearSection:(ContentSuggestionsSectionInformation*)sectionInfo { |
| @@ -248,6 +252,7 @@ SectionIdentifier SectionIdentifierForInfo( |
| [indexSet addIndex:[model sectionForSectionIdentifier:sectionIdentifier]]; |
| [self addFooterIfNeeded:suggestion.suggestionIdentifier.sectionInfo]; |
| + [self addHeader:suggestion.suggestionIdentifier.sectionInfo]; |
|
lpromero
2017/03/16 16:43:21
Optional nit: move one line up?
gambard
2017/03/17 09:33:39
Done.
|
| } |
| } |
| return indexSet; |
| @@ -307,6 +312,21 @@ SectionIdentifier SectionIdentifierForInfo( |
| } |
| } |
| +// Adds the header corresponding to |sectionInfo| to the section. |
| +- (void)addHeader:(ContentSuggestionsSectionInformation*)sectionInfo { |
| + NSInteger sectionIdentifier = SectionIdentifierForInfo(sectionInfo); |
| + |
| + if (![self.collectionViewController.collectionViewModel |
| + headerForSectionWithIdentifier:sectionIdentifier]) { |
| + ContentSuggestionsHeaderItem* header = |
| + [[ContentSuggestionsHeaderItem alloc] initWithType:ItemTypeHeader]; |
| + header.text = sectionInfo.title; |
| + [self.collectionViewController.collectionViewModel |
| + setHeader:header |
| + forSectionWithIdentifier:sectionIdentifier]; |
| + } |
| +} |
| + |
| // Resets the models, removing the current CollectionViewItem and the |
| // SectionInfo. |
| - (void)resetModels { |