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 6f2affdb3274640535673c52f4a62270b858a36b..ee51fc8e7119a7427750752514806bae12080bec 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.SuggestionsMetricsReporter.SuggestionRanker; |
+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 SuggestionRankerImpl mSuggestionRanker; |
- public SectionList(NewTabPageManager newTabPageManager, OfflinePageBridge offlinePageBridge) { |
+ public SectionList(SuggestionsUiDelegate uiDelegate, OfflinePageBridge offlinePageBridge) { |
mSuggestionRanker = new SuggestionRankerImpl(); |
- mNewTabPageManager = newTabPageManager; |
- mNewTabPageManager.getSuggestionsMetricsReporter().setRanker(mSuggestionRanker); |
- mNewTabPageManager.getSuggestionsSource().setObserver(this); |
+ mUiDelegate = uiDelegate; |
+ mUiDelegate.getMetricsReporter().setRanker(mSuggestionRanker); |
+ mUiDelegate.getSuggestionsSource().setObserver(this); |
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 i = 0; |
@@ -67,8 +67,7 @@ public void resetSections(boolean alwaysAllowEmptySections) { |
resetSection(category, categoryStatus, alwaysAllowEmptySections); |
} |
- mNewTabPageManager.getSuggestionsMetricsReporter().onPageShown( |
- categories, suggestionsPerCategory); |
+ mUiDelegate.getMetricsReporter().onPageShown(categories, suggestionsPerCategory); |
} |
/** |
@@ -83,7 +82,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); |
@@ -98,7 +97,7 @@ private int resetSection(@CategoryInt int category, @CategoryStatusEnum int cate |
// Create the section if needed. |
if (section == null) { |
section = new SuggestionsSection( |
- this, mNewTabPageManager, mSuggestionRanker, mOfflinePageBridge, info); |
+ this, mUiDelegate, mSuggestionRanker, mOfflinePageBridge, info); |
mSections.put(category, section); |
mSuggestionRanker.registerCategory(category); |
addChild(section); |
@@ -113,7 +112,7 @@ 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; |
@@ -121,7 +120,7 @@ public void onNewSuggestions(@CategoryInt int category) { |
if (mSections.get(category).hasSuggestions()) 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); |
@@ -134,7 +133,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); |
@@ -208,7 +207,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); |
} |
@@ -227,9 +226,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(); |
} |
/** |