| 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 d7204595f08fce6a632e2edfe45f59b3e1866a7f..273dc3f6f2e87a36f134715b6a73ff27b1051a6f 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
|
| @@ -87,8 +87,6 @@ SectionIdentifier SectionIdentifierForInfo(
|
| NSMutableDictionary<NSNumber*, ContentSuggestionsSectionInformation*>*
|
| sectionInfoBySectionIdentifier;
|
|
|
| -// Reloads all the data from the data source, deleting all the current items.
|
| -- (void)reloadData;
|
| // Adds a new section if needed and returns the section identifier.
|
| - (NSInteger)addSectionIfNeeded:
|
| (ContentSuggestionsSectionInformation*)sectionInformation;
|
| @@ -120,13 +118,13 @@ SectionIdentifier SectionIdentifierForInfo(
|
| (ContentSuggestionsViewController*)collectionViewController {
|
| _collectionViewController = collectionViewController;
|
|
|
| - [self reloadData];
|
| + [self reloadAllData];
|
| }
|
|
|
| #pragma mark - ContentSuggestionsDataSink
|
|
|
| - (void)dataAvailable {
|
| - [self reloadData];
|
| + [self reloadAllData];
|
| }
|
|
|
| - (void)clearSuggestion:(ContentSuggestionIdentifier*)suggestionIdentifier {
|
| @@ -159,6 +157,37 @@ SectionIdentifier SectionIdentifierForInfo(
|
| [self.collectionViewController dismissEntryAtIndexPath:indexPath];
|
| }
|
|
|
| +- (void)reloadAllData {
|
| + [self resetModels];
|
| + CollectionViewModel* model =
|
| + self.collectionViewController.collectionViewModel;
|
| +
|
| + NSArray<ContentSuggestion*>* suggestions = [self.dataSource allSuggestions];
|
| +
|
| + for (ContentSuggestion* suggestion in suggestions) {
|
| + NSInteger sectionIdentifier =
|
| + [self addSectionIfNeeded:suggestion.suggestionIdentifier.sectionInfo];
|
| + ContentSuggestionsArticleItem* articleItem =
|
| + [[ContentSuggestionsArticleItem alloc]
|
| + initWithType:ItemTypeForContentSuggestionType(suggestion.type)
|
| + title:suggestion.title
|
| + subtitle:suggestion.text
|
| + delegate:self
|
| + url:suggestion.url];
|
| +
|
| + articleItem.publisher = suggestion.publisher;
|
| + articleItem.publishDate = suggestion.publishDate;
|
| +
|
| + articleItem.suggestionIdentifier = suggestion.suggestionIdentifier;
|
| +
|
| + [model addItem:articleItem toSectionWithIdentifier:sectionIdentifier];
|
| + }
|
| +
|
| + if ([self.collectionViewController isViewLoaded]) {
|
| + [self.collectionViewController.collectionView reloadData];
|
| + }
|
| +}
|
| +
|
| #pragma mark - Public methods
|
|
|
| - (BOOL)shouldUseCustomStyleForSection:(NSInteger)section {
|
| @@ -206,37 +235,6 @@ SectionIdentifier SectionIdentifierForInfo(
|
|
|
| #pragma mark - Private methods
|
|
|
| -- (void)reloadData {
|
| - [self resetModels];
|
| - CollectionViewModel* model =
|
| - self.collectionViewController.collectionViewModel;
|
| -
|
| - NSArray<ContentSuggestion*>* suggestions = [self.dataSource allSuggestions];
|
| -
|
| - for (ContentSuggestion* suggestion in suggestions) {
|
| - NSInteger sectionIdentifier =
|
| - [self addSectionIfNeeded:suggestion.suggestionIdentifier.sectionInfo];
|
| - ContentSuggestionsArticleItem* articleItem =
|
| - [[ContentSuggestionsArticleItem alloc]
|
| - initWithType:ItemTypeForContentSuggestionType(suggestion.type)
|
| - title:suggestion.title
|
| - subtitle:suggestion.text
|
| - delegate:self
|
| - url:suggestion.url];
|
| -
|
| - articleItem.publisher = suggestion.publisher;
|
| - articleItem.publishDate = suggestion.publishDate;
|
| -
|
| - articleItem.suggestionIdentifier = suggestion.suggestionIdentifier;
|
| -
|
| - [model addItem:articleItem toSectionWithIdentifier:sectionIdentifier];
|
| - }
|
| -
|
| - if ([self.collectionViewController isViewLoaded]) {
|
| - [self.collectionViewController.collectionView reloadData];
|
| - }
|
| -}
|
| -
|
| - (NSInteger)addSectionIfNeeded:
|
| (ContentSuggestionsSectionInformation*)sectionInformation {
|
| NSInteger sectionIdentifier = SectionIdentifierForInfo(sectionInformation);
|
|
|