| 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 2d7b839225148c61ac4488e8d628f803784059ae..62cf6d0168d45ddaa86380ce6d84d1c0e02e2d05 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;
|
| @@ -61,7 +61,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;
|
| @@ -70,24 +70,25 @@ public SuggestionsSection(Delegate delegate, NewTabPageManager manager,
|
| mSuggestionsRanker = ranker;
|
|
|
| mHeader = new SectionHeader(info.getTitle());
|
| - mSuggestionsList = new SuggestionsList(manager, info);
|
| + mSuggestionsList = new SuggestionsList(uiDelegate, 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 SuggestionsCategoryInfo mCategoryInfo;
|
|
|
| - public SuggestionsList(NewTabPageManager newTabPageManager,
|
| - SuggestionsCategoryInfo categoryInfo) {
|
| - mNewTabPageManager = newTabPageManager;
|
| + public SuggestionsList(
|
| + SuggestionsUiDelegate uiDelegate, SuggestionsCategoryInfo categoryInfo) {
|
| + mUiDelegate = uiDelegate;
|
| mCategoryInfo = categoryInfo;
|
| }
|
|
|
| @@ -164,7 +165,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
|
| @@ -189,7 +190,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
|
| @@ -219,7 +220,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;
|
|
|