Chromium Code Reviews| 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 9a4eaa2ab967de44516cbf5a09095fe4aad6c5a5..4158656bd39c8b7b877ffdb8c3befa6e7c9e24ca 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 |
| @@ -9,6 +9,7 @@ import org.chromium.chrome.browser.ntp.snippets.CategoryInt; |
| import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum; |
| import org.chromium.chrome.browser.ntp.snippets.SectionHeader; |
| import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; |
| +import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder; |
| import org.chromium.chrome.browser.ntp.snippets.SnippetsBridge; |
| import java.util.ArrayList; |
| @@ -21,6 +22,7 @@ public class SuggestionsSection extends InnerNode { |
| private final List<TreeNode> mChildren = new ArrayList<>(); |
| private final List<SnippetArticle> mSuggestions = new ArrayList<>(); |
| private final SectionHeader mHeader; |
| + private final TreeNode mSuggestionsList = new SuggestionsList(this, mSuggestions); |
| private final StatusItem mStatus; |
| private final ProgressItem mProgressIndicator = new ProgressItem(); |
| private final ActionItem mMoreButton; |
| @@ -35,6 +37,42 @@ public class SuggestionsSection extends InnerNode { |
| resetChildren(); |
| } |
| + private static class SuggestionsList extends ChildNode { |
| + private final List<SnippetArticle> mSuggestions; |
|
dgn
2016/10/21 17:13:30
I find it a bit weird that we have another referen
Bernhard Bauer
2016/10/22 16:43:47
Yeah, I considered that as well. I'm not sure what
|
| + |
| + public SuggestionsList(NodeParent parent, List<SnippetArticle> suggestions) { |
| + super(parent); |
| + mSuggestions = suggestions; |
| + } |
| + |
| + @Override |
| + public int getItemCount() { |
| + return mSuggestions.size(); |
| + } |
| + |
| + @Override |
| + @ItemViewType |
| + public int getItemViewType(int position) { |
| + return ItemViewType.SNIPPET; |
| + } |
| + |
| + @Override |
| + public void onBindViewHolder(NewTabPageViewHolder holder, int position) { |
| + assert holder instanceof SnippetArticleViewHolder; |
| + ((SnippetArticleViewHolder) holder).onBindViewHolder(getSuggestionAt(position)); |
| + } |
| + |
| + @Override |
| + public SnippetArticle getSuggestionAt(int position) { |
| + return mSuggestions.get(position); |
| + } |
| + |
| + @Override |
| + public int getDismissSiblingPosDelta(int position) { |
| + return 0; |
| + } |
| + } |
| + |
| @Override |
| protected List<TreeNode> getChildren() { |
| return mChildren; |
| @@ -43,7 +81,7 @@ public class SuggestionsSection extends InnerNode { |
| private void resetChildren() { |
| mChildren.clear(); |
| mChildren.add(mHeader); |
| - mChildren.addAll(mSuggestions); |
| + mChildren.add(mSuggestionsList); |
| if (mSuggestions.isEmpty()) mChildren.add(mStatus); |
| if (mCategoryInfo.hasMoreButton() || mSuggestions.isEmpty()) mChildren.add(mMoreButton); |