Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
index e869167a4aa015850727c9b84aebda58ea5f1d41..d75230d2a7ed9e3c58290d73b539ff73214e1be4 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
@@ -13,6 +13,7 @@ |
import org.chromium.base.Callback; |
import org.chromium.base.Log; |
+import org.chromium.base.VisibleForTesting; |
import org.chromium.chrome.R; |
import org.chromium.chrome.browser.ntp.NewTabPageLayout; |
import org.chromium.chrome.browser.ntp.NewTabPageUma; |
@@ -294,10 +295,12 @@ private void setSuggestions(@CategoryInt int category, List<SnippetArticle> sugg |
@CategoryStatusEnum int status) { |
if (!mSections.containsKey(category)) { |
SuggestionsCategoryInfo info = mSuggestionsSource.getCategoryInfo(category); |
+ if (suggestions.isEmpty() && !info.showIfEmpty()) return; |
+ |
mSections.put( |
category, new SuggestionsSection(category, suggestions, status, info, this)); |
} else { |
- mSections.get(category).setSuggestions(suggestions, status, this); |
+ mSections.get(category).setSuggestions(suggestions, status); |
} |
} |
@@ -328,8 +331,6 @@ public void onAttachedToRecyclerView(RecyclerView recyclerView) { |
} |
public void dismissItem(ViewHolder itemViewHolder) { |
- assert itemViewHolder.getItemViewType() == NewTabPageItem.VIEW_TYPE_SNIPPET; |
- |
int position = itemViewHolder.getAdapterPosition(); |
SnippetArticle suggestion = (SnippetArticle) getItems().get(position); |
@@ -364,7 +365,7 @@ public void onResult(Boolean result) { |
/** |
* Returns an unmodifiable list containing all items in the adapter. |
*/ |
- List<NewTabPageItem> getItems() { |
+ public List<NewTabPageItem> getItems() { |
List<NewTabPageItem> items = new ArrayList<>(); |
for (ItemGroup group : mGroups) { |
items.addAll(group.getItems()); |
@@ -372,7 +373,8 @@ public void onResult(Boolean result) { |
return Collections.unmodifiableList(items); |
} |
- private ItemGroup getGroup(int itemPosition) { |
+ @VisibleForTesting |
+ ItemGroup getGroup(int itemPosition) { |
int itemsSkipped = 0; |
for (ItemGroup group : mGroups) { |
List<NewTabPageItem> items = group.getItems(); |