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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java

Issue 2439683003: [Android NTP] Move suggestions in SuggestionSection into a separate TreeNode. (Closed)
Patch Set: review Created 4 years, 2 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
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticle.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..e90dae1ebee7dff1936649d4db9ad99585036d5b 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);
private final StatusItem mStatus;
private final ProgressItem mProgressIndicator = new ProgressItem();
private final ActionItem mMoreButton;
@@ -35,6 +37,39 @@ public class SuggestionsSection extends InnerNode {
resetChildren();
}
+ private class SuggestionsList extends ChildNode {
+ public SuggestionsList(NodeParent parent) {
+ super(parent);
+ }
+
+ @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 +78,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);
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/ntp/snippets/SnippetArticle.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698