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

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

Issue 2249903003: 📰 Empty state handling for the Bookmarks section (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix tests Created 4 years, 4 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
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();

Powered by Google App Engine
This is Rietveld 408576698