| 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);
|
| }
|
|
|