Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
index eadf900e456c1b6c2de7282947093781bfa687b4..9ee7337dc3871e0dd7d82d847dd5e127dfac98e6 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapter.java |
@@ -13,12 +13,13 @@ |
import org.chromium.base.Callback; |
import org.chromium.base.VisibleForTesting; |
-import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
+import org.chromium.chrome.browser.ntp.ContextMenuManager; |
import org.chromium.chrome.browser.ntp.UiConfig; |
import org.chromium.chrome.browser.ntp.snippets.SectionHeaderViewHolder; |
import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; |
import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder; |
import org.chromium.chrome.browser.offlinepages.OfflinePageBridge; |
+import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; |
import java.util.Collections; |
import java.util.List; |
@@ -30,7 +31,9 @@ |
* elements will be the cards shown to the user |
*/ |
public class NewTabPageAdapter extends Adapter<NewTabPageViewHolder> implements NodeParent { |
- private final NewTabPageManager mNewTabPageManager; |
+ private final SuggestionsUiDelegate mUiDelegate; |
+ private final ContextMenuManager mContextMenuManager; |
+ |
@Nullable |
private final View mAboveTheFoldView; |
private final UiConfig mUiConfig; |
@@ -48,24 +51,26 @@ |
/** |
* Creates the adapter that will manage all the cards to display on the NTP. |
- * |
- * @param manager the NewTabPageManager to use to interact with the rest of the system. |
+ * @param uiDelegate used to interact with the rest of the system. |
* @param aboveTheFoldView the layout encapsulating all the above-the-fold elements |
* (logo, search box, most visited tiles), or null if only suggestions should |
* be displayed. |
* @param uiConfig the NTP UI configuration, to be passed to created views. |
- * @param offlinePageBridge the OfflinePageBridge used to determine if articles are available |
- * offline. |
+ * @param offlinePageBridge used to determine if articles are available. |
+ * @param contextMenuManager used to build context menus. |
*/ |
- public NewTabPageAdapter(NewTabPageManager manager, @Nullable View aboveTheFoldView, |
- UiConfig uiConfig, OfflinePageBridge offlinePageBridge) { |
- mNewTabPageManager = manager; |
+ public NewTabPageAdapter(SuggestionsUiDelegate uiDelegate, @Nullable View aboveTheFoldView, |
+ UiConfig uiConfig, OfflinePageBridge offlinePageBridge, |
+ ContextMenuManager contextMenuManager) { |
+ mUiDelegate = uiDelegate; |
+ mContextMenuManager = contextMenuManager; |
+ |
mAboveTheFoldView = aboveTheFoldView; |
mUiConfig = uiConfig; |
mRoot = new InnerNode(); |
- mSections = new SectionList(mNewTabPageManager, offlinePageBridge); |
- mSigninPromo = new SignInPromo(mNewTabPageManager); |
+ mSections = new SectionList(mUiDelegate, offlinePageBridge); |
+ mSigninPromo = new SignInPromo(mUiDelegate); |
mAllDismissed = new AllDismissedItem(); |
mFooter = new Footer(); |
@@ -105,25 +110,27 @@ public NewTabPageViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { |
return new SectionHeaderViewHolder(mRecyclerView, mUiConfig); |
case ItemViewType.SNIPPET: |
- return new SnippetArticleViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); |
+ return new SnippetArticleViewHolder( |
+ mRecyclerView, mContextMenuManager, mUiDelegate, mUiConfig); |
case ItemViewType.SPACING: |
return new NewTabPageViewHolder(SpacingItem.createView(parent)); |
case ItemViewType.STATUS: |
- return new StatusCardViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); |
+ return new StatusCardViewHolder(mRecyclerView, mContextMenuManager, mUiConfig); |
case ItemViewType.PROGRESS: |
return new ProgressViewHolder(mRecyclerView); |
case ItemViewType.ACTION: |
- return new ActionItem.ViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); |
+ return new ActionItem.ViewHolder( |
+ mRecyclerView, mContextMenuManager, mUiDelegate, mUiConfig); |
case ItemViewType.PROMO: |
- return new SignInPromo.ViewHolder(mRecyclerView, mNewTabPageManager, mUiConfig); |
+ return new SignInPromo.ViewHolder(mRecyclerView, mContextMenuManager, mUiConfig); |
case ItemViewType.FOOTER: |
- return new Footer.ViewHolder(mRecyclerView, mNewTabPageManager); |
+ return new Footer.ViewHolder(mRecyclerView, mUiDelegate.getNavigationDelegate()); |
case ItemViewType.ALL_DISMISSED: |
return new AllDismissedItem.ViewHolder(mRecyclerView, mSections); |