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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.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/SuggestionsSection.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
index 62404a7bbf065349b65249404e36b167b3d29f08..d0406d625ed5517fbf681827825046b9b4601ed0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSection.java
@@ -8,7 +8,6 @@
import org.chromium.base.Log;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.browser.ntp.NewTabPage.DestructionObserver;
-import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
import org.chromium.chrome.browser.ntp.snippets.CategoryInt;
import org.chromium.chrome.browser.ntp.snippets.CategoryStatus.CategoryStatusEnum;
import org.chromium.chrome.browser.ntp.snippets.SectionHeader;
@@ -20,6 +19,7 @@
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge;
import org.chromium.chrome.browser.offlinepages.OfflinePageItem;
import org.chromium.chrome.browser.suggestions.SuggestionsRanker;
+import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate;
import java.util.ArrayList;
import java.util.Iterator;
@@ -60,7 +60,7 @@
void dismissSection(SuggestionsSection section);
}
- public SuggestionsSection(Delegate delegate, NewTabPageManager manager,
+ public SuggestionsSection(Delegate delegate, SuggestionsUiDelegate uiDelegate,
SuggestionsRanker ranker, OfflinePageBridge offlinePageBridge,
SuggestionsCategoryInfo info) {
mDelegate = delegate;
@@ -68,25 +68,27 @@ public SuggestionsSection(Delegate delegate, NewTabPageManager manager,
mOfflinePageBridge = offlinePageBridge;
mHeader = new SectionHeader(info.getTitle());
- mSuggestionsList = new SuggestionsList(manager, ranker, info);
+ mSuggestionsList = new SuggestionsList(uiDelegate, ranker, info);
mStatus = StatusItem.createNoSuggestionsItem(info);
mMoreButton = new ActionItem(this, ranker);
mProgressIndicator = new ProgressItem();
addChildren(mHeader, mSuggestionsList, mStatus, mMoreButton, mProgressIndicator);
- setupOfflinePageBridgeObserver(manager);
+ setupOfflinePageBridgeObserver(uiDelegate);
refreshChildrenVisibility();
}
private static class SuggestionsList extends ChildNode implements Iterable<SnippetArticle> {
private final List<SnippetArticle> mSuggestions = new ArrayList<>();
- private final NewTabPageManager mNewTabPageManager;
+
+ // TODO(crbug.com/677672): Replace by SuggestionSource when it handles destruction.
+ private final SuggestionsUiDelegate mUiDelegate;
private final SuggestionsRanker mSuggestionsRanker;
private final SuggestionsCategoryInfo mCategoryInfo;
- public SuggestionsList(NewTabPageManager newTabPageManager,
- SuggestionsRanker ranker, SuggestionsCategoryInfo categoryInfo) {
- mNewTabPageManager = newTabPageManager;
+ public SuggestionsList(SuggestionsUiDelegate uiDelegate, SuggestionsRanker ranker,
+ SuggestionsCategoryInfo categoryInfo) {
+ mUiDelegate = uiDelegate;
mSuggestionsRanker = ranker;
mCategoryInfo = categoryInfo;
}
@@ -166,7 +168,7 @@ public SnippetArticle remove(int position) {
@Override
public void dismissItem(int position, Callback<String> itemRemovedCallback) {
checkIndex(position);
- SuggestionsSource suggestionsSource = mNewTabPageManager.getSuggestionsSource();
+ SuggestionsSource suggestionsSource = mUiDelegate.getSuggestionsSource();
if (suggestionsSource == null) {
// It is possible for this method to be called after the NewTabPage has had
// destroy() called. This can happen when
@@ -194,7 +196,7 @@ public void updateSuggestionOfflineId(SnippetArticle article, Long newId) {
}
}
- private void setupOfflinePageBridgeObserver(NewTabPageManager manager) {
+ private void setupOfflinePageBridgeObserver(SuggestionsUiDelegate uiDelegate) {
final OfflinePageBridge.OfflinePageModelObserver observer =
new OfflinePageBridge.OfflinePageModelObserver() {
@Override
@@ -224,7 +226,7 @@ public void offlinePageDeleted(long offlineId, ClientId clientId) {
mOfflinePageBridge.addObserver(observer);
- manager.addDestructionObserver(new DestructionObserver() {
+ uiDelegate.addDestructionObserver(new DestructionObserver() {
@Override
public void onDestroy() {
mIsNtpDestroyed = true;

Powered by Google App Engine
This is Rietveld 408576698