Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java |
index 2d7b839225148c61ac4488e8d628f803784059ae..f8ac11b2aa30b70ffae9e11dfcf78c1cd5af3764 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java |
@@ -35,7 +35,6 @@ |
private final Delegate mDelegate; |
private final SuggestionsCategoryInfo mCategoryInfo; |
private final OfflinePageBridge mOfflinePageBridge; |
- private final SuggestionsRanker mSuggestionsRanker; |
// Children |
private final SectionHeader mHeader; |
@@ -67,10 +66,9 @@ public SuggestionsSection(Delegate delegate, NewTabPageManager manager, |
mDelegate = delegate; |
mCategoryInfo = info; |
mOfflinePageBridge = offlinePageBridge; |
- mSuggestionsRanker = ranker; |
mHeader = new SectionHeader(info.getTitle()); |
- mSuggestionsList = new SuggestionsList(manager, info); |
+ mSuggestionsList = new SuggestionsList(manager, ranker, info); |
mStatus = StatusItem.createNoSuggestionsItem(info); |
mMoreButton = new ActionItem(this, ranker); |
mProgressIndicator = new ProgressItem(); |
@@ -83,11 +81,13 @@ public SuggestionsSection(Delegate delegate, NewTabPageManager manager, |
private static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> { |
private final List<SnippetArticle> mSuggestions = new ArrayList<>(); |
private final NewTabPageManager mNewTabPageManager; |
+ private final SuggestionsRanker mSuggestionsRanker; |
private final SuggestionsCategoryInfo mCategoryInfo; |
public SuggestionsList(NewTabPageManager newTabPageManager, |
- SuggestionsCategoryInfo categoryInfo) { |
+ SuggestionsRanker ranker, SuggestionsCategoryInfo categoryInfo) { |
mNewTabPageManager = newTabPageManager; |
+ mSuggestionsRanker = ranker; |
mCategoryInfo = categoryInfo; |
} |
@@ -108,8 +108,10 @@ public void onBindViewHolder( |
NewTabPageViewHolder holder, int position, List<Object> payloads) { |
checkIndex(position); |
assert holder instanceof SnippetArticleViewHolder; |
+ SnippetArticle suggestion = getSuggestionAt(position); |
+ mSuggestionsRanker.rankSuggestion(suggestion); |
((SnippetArticleViewHolder) holder) |
- .onBindViewHolder(getSuggestionAt(position), mCategoryInfo, payloads); |
+ .onBindViewHolder(suggestion, mCategoryInfo, payloads); |
} |
@Override |
@@ -353,7 +355,6 @@ public void setSuggestions(List<SnippetArticle> suggestions, @CategoryStatusEnum |
mSuggestionsList.addAll(suggestions); |
for (SnippetArticle article : suggestions) { |
- mSuggestionsRanker.rankSuggestion(article); |
if (!article.requiresExactOfflinePage()) { |
updateSnippetOfflineAvailability(article); |
} |