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 85540c7dfd12a4cb3bf70173fee29b7ce0d345b6..3fd17f42ef0e882b3c4e1ede7af97f5f589ab360 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 android.support.annotation.Nullable; |
import org.chromium.base.Callback; |
import org.chromium.base.Log; |
+import org.chromium.base.VisibleForTesting; |
import org.chromium.chrome.browser.ntp.NewTabPageUma; |
import org.chromium.chrome.browser.ntp.snippets.CategoryInt; |
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; |
@@ -101,7 +102,8 @@ public class SuggestionsSection extends InnerNode { |
mStatus.setVisible(!hasSuggestions()); |
} |
- private static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> { |
+ @VisibleForTesting |
+ static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> { |
private final List<SnippetArticle> mSuggestions = new ArrayList<>(); |
// TODO(crbug.com/677672): Replace by SuggestionSource when it handles destruction. |
@@ -137,7 +139,6 @@ public class SuggestionsSection extends InnerNode { |
((SnippetArticleViewHolder) holder).onBindViewHolder(suggestion, mCategoryInfo); |
} |
- @Override |
public SnippetArticle getSuggestionAt(int position) { |
return mSuggestions.get(position); |
} |
@@ -181,6 +182,13 @@ public class SuggestionsSection extends InnerNode { |
} |
@Override |
+ public void visitItems(NodeVisitor visitor) { |
+ for (SnippetArticle suggestion : mSuggestions) { |
+ visitor.visitSuggestion(suggestion); |
+ } |
+ } |
+ |
+ @Override |
public Set<Integer> getItemDismissalGroup(int position) { |
return Collections.singleton(position); |
} |
@@ -323,7 +331,7 @@ public class SuggestionsSection extends InnerNode { |
} |
} |
- public boolean hasSuggestions() { |
+ private boolean hasSuggestions() { |
return mSuggestionsList.getItemCount() != 0; |
} |
@@ -525,6 +533,10 @@ public class SuggestionsSection extends InnerNode { |
return mHeader; |
} |
+ SuggestionsList getSuggestionListForTesting() { |
+ return mSuggestionsList; |
+ } |
+ |
private class OfflineModelObserver extends SuggestionsOfflineModelObserver<SnippetArticle> { |
public OfflineModelObserver(OfflinePageBridge bridge) { |
super(bridge); |