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(); |
} |
/** |