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

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

Issue 2623993007: 🏠 Extract the ContentSuggestionManager interface from NTP (Closed)
Patch Set: aaaand rebase again Created 3 years, 11 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/SectionList.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java
index b7edb8548169d37e5c5a1812ea4c43a5aa4dcfcf..da91464785b9fbe4fb6a6817a93898bc4ad024db 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SectionList.java
@@ -6,7 +6,6 @@
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
-import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.snippets.CategoryInt;
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus;
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum;
@@ -16,6 +15,7 @@
import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource;
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.suggestions.SuggestionsRanker;
+import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
import java.util.LinkedHashMap;
import java.util.List;
@@ -31,15 +31,15 @@
/** Maps suggestion categories to sections, with stable iteration ordering. */
private final Map<Integer, SuggestionsSection> mSections = new LinkedHashMap<>();
- private final NewTabPageManager mNewTabPageManager;
+ private final SuggestionsUiDelegate mUiDelegate;
private final OfflinePageBridge mOfflinePageBridge;
private final SuggestionsRanker mSuggestionsRanker;
- public SectionList(NewTabPageManager newTabPageManager, OfflinePageBridge offlinePageBridge) {
+ public SectionList(SuggestionsUiDelegate uiDelegate, OfflinePageBridge offlinePageBridge) {
mSuggestionsRanker = new SuggestionsRanker();
- mNewTabPageManager = newTabPageManager;
- mNewTabPageManager.getSuggestionsSource().setObserver(this);
- mNewTabPageManager.getSuggestionsMetricsReporter().setRanker(mSuggestionsRanker);
+ mUiDelegate = uiDelegate;
+ mUiDelegate.getSuggestionsSource().setObserver(this);
+ mUiDelegate.getMetricsReporter().setRanker(mSuggestionsRanker);
mOfflinePageBridge = offlinePageBridge;
resetSections(/* alwaysAllowEmptySections = */ false);
}
@@ -52,7 +52,7 @@ public SectionList(NewTabPageManager newTabPageManager, OfflinePageBridge offlin
public void resetSections(boolean alwaysAllowEmptySections) {
removeAllSections();
- SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource();
+ SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource();
int[] categories = suggestionsSource.getCategories();
int[] suggestionsPerCategory = new int[categories.length];
int categoryIndex = 0;
@@ -68,8 +68,7 @@ public void resetSections(boolean alwaysAllowEmptySections) {
++categoryIndex;
}
- mNewTabPageManager.getSuggestionsMetricsReporter().onPageShown(
- categories, suggestionsPerCategory);
+ mUiDelegate.getMetricsReporter().onPageShown(categories, suggestionsPerCategory);
}
/**
@@ -84,7 +83,7 @@ public void resetSections(boolean alwaysAllowEmptySections) {
*/
private int resetSection(@CategoryInt int category, @CategoryStatusEnum int categoryStatus,
boolean alwaysAllowEmptySections) {
- SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource();
+ SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource();
List<SnippetArticle> suggestions = suggestionsSource.getSuggestionsForCategory(category);
SuggestionsCategoryInfo info = suggestionsSource.getCategoryInfo(category);
@@ -99,7 +98,7 @@ private int resetSection(@CategoryInt int category, @CategoryStatusEnum int cate
// Create the section if needed.
if (section == null) {
section = new SuggestionsSection(
- this, mNewTabPageManager, mSuggestionsRanker, mOfflinePageBridge, info);
+ this, mUiDelegate, mSuggestionsRanker, mOfflinePageBridge, info);
mSections.put(category, section);
mSuggestionsRanker.registerCategory(category);
addChild(section);
@@ -114,12 +113,12 @@ private int resetSection(@CategoryInt int category, @CategoryStatusEnum int cate
@Override
public void onNewSuggestions(@CategoryInt int category) {
@CategoryStatusEnum
- int status = mNewTabPageManager.getSuggestionsSource().getCategoryStatus(category);
+ int status = mUiDelegate.getSuggestionsSource().getCategoryStatus(category);
if (!canLoadSuggestions(category, status)) return;
List<SnippetArticle> suggestions =
- mNewTabPageManager.getSuggestionsSource().getSuggestionsForCategory(category);
+ mUiDelegate.getSuggestionsSource().getSuggestionsForCategory(category);
Log.d(TAG, "Received %d new suggestions for category %d.", suggestions.size(), category);
@@ -132,7 +131,7 @@ public void onNewSuggestions(@CategoryInt int category) {
@Override
public void onMoreSuggestions(@CategoryInt int category, List<SnippetArticle> suggestions) {
@CategoryStatusEnum
- int status = mNewTabPageManager.getSuggestionsSource().getCategoryStatus(category);
+ int status = mUiDelegate.getSuggestionsSource().getCategoryStatus(category);
if (!canLoadSuggestions(category, status)) return;
setSuggestions(category, suggestions, status, /* replaceExisting = */ false);
@@ -217,7 +216,7 @@ private boolean canLoadSuggestions(@CategoryInt int category, @CategoryStatusEnu
public void dismissSection(SuggestionsSection section) {
assert SnippetsConfig.isSectionDismissalEnabled();
- mNewTabPageManager.getSuggestionsSource().dismissCategory(section.getCategory());
+ mUiDelegate.getSuggestionsSource().dismissCategory(section.getCategory());
removeSection(section);
}
@@ -236,9 +235,9 @@ private void removeAllSections() {
* Restores any sections that have been dismissed and triggers a new fetch.
*/
public void restoreDismissedSections() {
- mNewTabPageManager.getSuggestionsSource().restoreDismissedCategories();
+ mUiDelegate.getSuggestionsSource().restoreDismissedCategories();
resetSections(/* allowEmptySections = */ true);
- mNewTabPageManager.getSuggestionsSource().fetchRemoteSuggestions();
+ mUiDelegate.getSuggestionsSource().fetchRemoteSuggestions();
}
/**

Powered by Google App Engine
This is Rietveld 408576698