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