Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(603)

Unified Diff: ios/chrome/browser/ui/content_suggestions/content_suggestions_collection_updater.mm

Issue 2755383002: Add ContentSuggestion for ReadingList (Closed)
Patch Set: Rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 38aebe6e64301b71c5782d9c62d92d66b4e31d11..566ce95cad4da6e50cc0d1e3818eb568fc34fbce 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
@@ -6,6 +6,7 @@
#include "base/logging.h"
#include "base/mac/foundation_util.h"
+#include "base/strings/sys_string_conversions.h"
#include "base/time/time.h"
#include "components/strings/grit/components_strings.h"
#import "ios/chrome/browser/ui/collection_view/cells/collection_view_text_item.h"
@@ -16,6 +17,7 @@
#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_expandable_item.h"
#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_favicon_item.h"
#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_footer_item.h"
+#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_reading_list_item.h"
#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_stack_item.h"
#import "ios/chrome/browser/ui/content_suggestions/cells/content_suggestions_text_item.h"
#import "ios/chrome/browser/ui/content_suggestions/content_suggestion.h"
@@ -49,20 +51,25 @@ typedef NS_ENUM(NSInteger, ItemType) {
ItemTypeFooter,
ItemTypeHeader,
ItemTypeEmpty,
+ ItemTypeReadingList,
};
typedef NS_ENUM(NSInteger, SectionIdentifier) {
SectionIdentifierBookmarks = kSectionIdentifierEnumZero,
SectionIdentifierArticles,
+ SectionIdentifierReadingList,
SectionIdentifierDefault,
};
+// Update ContentSuggestionTypeForItemType if you update this function.
ItemType ItemTypeForContentSuggestionType(ContentSuggestionType type) {
switch (type) {
case ContentSuggestionTypeArticle:
return ItemTypeArticle;
case ContentSuggestionTypeEmpty:
return ItemTypeEmpty;
+ case ContentSuggestionTypeReadingList:
+ return ItemTypeReadingList;
}
}
@@ -71,6 +78,8 @@ ContentSuggestionType ContentSuggestionTypeForItemType(NSInteger type) {
return ContentSuggestionTypeArticle;
if (type == ItemTypeEmpty)
return ContentSuggestionTypeEmpty;
+ if (type == ItemTypeReadingList)
+ return ContentSuggestionTypeReadingList;
// Add new type here
// Default type.
@@ -87,6 +96,9 @@ SectionIdentifier SectionIdentifierForInfo(
case ContentSuggestionsSectionArticles:
return SectionIdentifierArticles;
+ case ContentSuggestionsSectionReadingList:
+ return SectionIdentifierReadingList;
+
case ContentSuggestionsSectionUnknown:
return SectionIdentifierDefault;
}
@@ -257,6 +269,22 @@ SectionIdentifier SectionIdentifierForInfo(
[indexPaths addObject:addedIndexPath];
break;
}
+ case ContentSuggestionTypeReadingList: {
+ ContentSuggestionsReadingListItem* readingListItem =
+ [[ContentSuggestionsReadingListItem alloc]
+ initWithType:ItemTypeReadingList
+ url:suggestion.url
+ distillationState:ReadingListEntry::PROCESSING];
+ readingListItem.title = suggestion.title;
+ readingListItem.subtitle = suggestion.publisher;
+
+ readingListItem.suggestionIdentifier = suggestion.suggestionIdentifier;
+
+ NSIndexPath* addedIndexPath = [self addItem:readingListItem
+ toSectionWithIdentifier:sectionIdentifier];
+ [indexPaths addObject:addedIndexPath];
+ break;
+ }
}
}

Powered by Google App Engine
This is Rietveld 408576698