OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import "ios/chrome/browser/ui/suggestions/suggestions_collection_updater.h" | 5 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_collectio
n_updater.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/mac/foundation_util.h" | 8 #include "base/mac/foundation_util.h" |
9 #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" | 9 #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" |
10 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" | 10 #import "ios/chrome/browser/ui/collection_view/collection_view_model.h" |
11 #import "ios/chrome/browser/ui/suggestions/suggestions_article_item.h" | 11 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_article_i
tem.h" |
12 #import "ios/chrome/browser/ui/suggestions/suggestions_expandable_item.h" | 12 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_expandabl
e_item.h" |
13 #import "ios/chrome/browser/ui/suggestions/suggestions_favicon_item.h" | 13 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_favicon_i
tem.h" |
14 #import "ios/chrome/browser/ui/suggestions/suggestions_item.h" | 14 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_item.h" |
15 #import "ios/chrome/browser/ui/suggestions/suggestions_stack_item.h" | 15 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_stack_ite
m.h" |
16 #import "ios/chrome/browser/ui/suggestions/suggestions_view_controller.h" | 16 #import "ios/chrome/browser/ui/content_suggestions/content_suggestions_view_cont
roller.h" |
17 | 17 |
18 #if !defined(__has_feature) || !__has_feature(objc_arc) | 18 #if !defined(__has_feature) || !__has_feature(objc_arc) |
19 #error "This file requires ARC support." | 19 #error "This file requires ARC support." |
20 #endif | 20 #endif |
21 | 21 |
22 @implementation SuggestionsCollectionUpdater | 22 @implementation ContentSuggestionsCollectionUpdater |
23 | 23 |
24 @synthesize collectionViewController = _collectionViewController; | 24 @synthesize collectionViewController = _collectionViewController; |
25 | 25 |
26 #pragma mark - Properties | 26 #pragma mark - Properties |
27 | 27 |
28 - (void)setCollectionViewController: | 28 - (void)setCollectionViewController: |
29 (SuggestionsViewController*)collectionViewController { | 29 (ContentSuggestionsViewController*)collectionViewController { |
30 _collectionViewController = collectionViewController; | 30 _collectionViewController = collectionViewController; |
31 [collectionViewController loadModel]; | 31 [collectionViewController loadModel]; |
32 CollectionViewModel* model = collectionViewController.collectionViewModel; | 32 CollectionViewModel* model = collectionViewController.collectionViewModel; |
33 NSInteger sectionIdentifier = kSectionIdentifierEnumZero; | 33 NSInteger sectionIdentifier = kSectionIdentifierEnumZero; |
34 | 34 |
35 // Stack Item. | 35 // Stack Item. |
36 [model addSectionWithIdentifier:sectionIdentifier]; | 36 [model addSectionWithIdentifier:sectionIdentifier]; |
37 [model addItem:[[SuggestionsStackItem alloc] initWithType:ItemTypeStack | 37 [model addItem:[[ContentSuggestionsStackItem alloc] |
38 title:@"The title" | 38 initWithType:ItemTypeStack |
39 subtitle:@"The subtitle"] | 39 title:@"The title" |
| 40 subtitle:@"The subtitle"] |
40 toSectionWithIdentifier:sectionIdentifier++]; | 41 toSectionWithIdentifier:sectionIdentifier++]; |
41 | 42 |
42 // Favicon Item. | 43 // Favicon Item. |
43 [model addSectionWithIdentifier:sectionIdentifier]; | 44 [model addSectionWithIdentifier:sectionIdentifier]; |
44 SuggestionsFaviconItem* faviconItem = | 45 ContentSuggestionsFaviconItem* faviconItem = |
45 [[SuggestionsFaviconItem alloc] initWithType:ItemTypeFavicon]; | 46 [[ContentSuggestionsFaviconItem alloc] initWithType:ItemTypeFavicon]; |
46 for (NSInteger i = 0; i < 6; i++) { | 47 for (NSInteger i = 0; i < 6; i++) { |
47 [faviconItem addFavicon:[UIImage imageNamed:@"bookmark_gray_star"] | 48 [faviconItem addFavicon:[UIImage imageNamed:@"bookmark_gray_star"] |
48 withTitle:@"Super website! Incredible!"]; | 49 withTitle:@"Super website! Incredible!"]; |
49 } | 50 } |
50 faviconItem.delegate = _collectionViewController; | 51 faviconItem.delegate = _collectionViewController; |
51 [model addItem:faviconItem toSectionWithIdentifier:sectionIdentifier++]; | 52 [model addItem:faviconItem toSectionWithIdentifier:sectionIdentifier++]; |
52 | 53 |
53 for (NSInteger i = 0; i < 3; i++) { | 54 for (NSInteger i = 0; i < 3; i++) { |
54 [model addSectionWithIdentifier:sectionIdentifier]; | 55 [model addSectionWithIdentifier:sectionIdentifier]; |
55 | 56 |
56 // Standard Item. | 57 // Standard Item. |
57 [model addItem:[[SuggestionsItem alloc] initWithType:ItemTypeText | 58 [model addItem:[[ContentSuggestionsItem alloc] initWithType:ItemTypeText |
58 title:@"The title" | 59 title:@"The title" |
59 subtitle:@"The subtitle"] | 60 subtitle:@"The subtitle"] |
60 toSectionWithIdentifier:sectionIdentifier]; | 61 toSectionWithIdentifier:sectionIdentifier]; |
61 | 62 |
62 // Article Item. | 63 // Article Item. |
63 [model addItem:[[SuggestionsArticleItem alloc] | 64 [model addItem:[[ContentSuggestionsArticleItem alloc] |
64 initWithType:ItemTypeArticle | 65 initWithType:ItemTypeArticle |
65 title:@"Title of an Article" | 66 title:@"Title of an Article" |
66 subtitle:@"This is the subtitle of an article, can " | 67 subtitle:@"This is the subtitle of an article, can " |
67 @"spawn on multiple lines" | 68 @"spawn on multiple lines" |
68 image:[UIImage | 69 image:[UIImage |
69 imageNamed:@"distillation_success"]] | 70 imageNamed:@"distillation_success"]] |
70 toSectionWithIdentifier:sectionIdentifier]; | 71 toSectionWithIdentifier:sectionIdentifier]; |
71 | 72 |
72 // Expandable Item. | 73 // Expandable Item. |
73 SuggestionsExpandableItem* expandableItem = | 74 SuggestionsExpandableItem* expandableItem = |
(...skipping 12 matching lines...) Expand all Loading... |
86 sectionIdentifier++; | 87 sectionIdentifier++; |
87 } | 88 } |
88 } | 89 } |
89 | 90 |
90 #pragma mark - Public methods | 91 #pragma mark - Public methods |
91 | 92 |
92 - (void)addTextItem:(NSString*)title | 93 - (void)addTextItem:(NSString*)title |
93 subtitle:(NSString*)subtitle | 94 subtitle:(NSString*)subtitle |
94 toSection:(NSInteger)inputSection { | 95 toSection:(NSInteger)inputSection { |
95 DCHECK(_collectionViewController); | 96 DCHECK(_collectionViewController); |
96 SuggestionsItem* item = [[SuggestionsItem alloc] initWithType:ItemTypeText | 97 ContentSuggestionsItem* item = |
97 title:title | 98 [[ContentSuggestionsItem alloc] initWithType:ItemTypeText |
98 subtitle:subtitle]; | 99 title:title |
| 100 subtitle:subtitle]; |
99 NSInteger sectionIdentifier = kSectionIdentifierEnumZero + inputSection; | 101 NSInteger sectionIdentifier = kSectionIdentifierEnumZero + inputSection; |
100 NSInteger sectionIndex = inputSection; | 102 NSInteger sectionIndex = inputSection; |
101 CollectionViewModel* model = _collectionViewController.collectionViewModel; | 103 CollectionViewModel* model = _collectionViewController.collectionViewModel; |
102 if ([model numberOfSections] <= inputSection) { | 104 if ([model numberOfSections] <= inputSection) { |
103 sectionIndex = [model numberOfSections]; | 105 sectionIndex = [model numberOfSections]; |
104 sectionIdentifier = kSectionIdentifierEnumZero + sectionIndex; | 106 sectionIdentifier = kSectionIdentifierEnumZero + sectionIndex; |
105 [_collectionViewController.collectionView performBatchUpdates:^{ | 107 [_collectionViewController.collectionView performBatchUpdates:^{ |
106 [_collectionViewController.collectionViewModel | 108 [_collectionViewController.collectionViewModel |
107 addSectionWithIdentifier:sectionIdentifier]; | 109 addSectionWithIdentifier:sectionIdentifier]; |
108 [_collectionViewController.collectionView | 110 [_collectionViewController.collectionView |
(...skipping 12 matching lines...) Expand all Loading... |
121 inSection:sectionIndex] ]]; | 123 inSection:sectionIndex] ]]; |
122 } | 124 } |
123 completion:nil]; | 125 completion:nil]; |
124 } | 126 } |
125 | 127 |
126 - (BOOL)shouldUseCustomStyleForSection:(NSInteger)section { | 128 - (BOOL)shouldUseCustomStyleForSection:(NSInteger)section { |
127 return section == 0 || section == 1; | 129 return section == 0 || section == 1; |
128 } | 130 } |
129 | 131 |
130 @end | 132 @end |
OLD | NEW |