| Index: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
|
| index f93683c71ede3ecd107c0a80c4bec0ffb549217c..76138b906ca5c86fe27123dca6b3e5a314d589c0 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java
|
| @@ -6,11 +6,9 @@
|
|
|
| import android.view.View;
|
|
|
| -import org.chromium.base.Log;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
|
| import org.chromium.chrome.browser.ntp.UiConfig;
|
| -import org.chromium.chrome.browser.ntp.snippets.KnownCategories;
|
|
|
| /**
|
| * Item that allows the user to perform an action on the NTP.
|
| @@ -18,15 +16,15 @@
|
| class ActionItem implements NewTabPageItem {
|
| private static final String TAG = "NtpCards";
|
|
|
| - private final int mCategory;
|
| + private final SuggestionsCategoryInfo mCategoryInfo;
|
|
|
| // The position (index) of this item within its section, for logging purposes.
|
| private int mPosition;
|
| private boolean mImpressionTracked = false;
|
| private boolean mDismissable;
|
|
|
| - public ActionItem(int category) {
|
| - mCategory = category;
|
| + public ActionItem(SuggestionsCategoryInfo categoryInfo) {
|
| + mCategoryInfo = categoryInfo;
|
| }
|
|
|
| @Override
|
| @@ -45,31 +43,19 @@ public void setPosition(int position) {
|
| public static class ViewHolder extends CardViewHolder {
|
| private ActionItem mActionListItem;
|
|
|
| -
|
| - public ViewHolder(NewTabPageRecyclerView recyclerView, final NewTabPageManager manager,
|
| - UiConfig uiConfig) {
|
| + public ViewHolder(final NewTabPageRecyclerView recyclerView,
|
| + final NewTabPageManager manager, UiConfig uiConfig) {
|
| super(R.layout.new_tab_page_action_card, recyclerView, uiConfig);
|
|
|
| itemView.findViewById(R.id.action_button)
|
| .setOnClickListener(new View.OnClickListener() {
|
| @Override
|
| public void onClick(View v) {
|
| - int category = mActionListItem.mCategory;
|
| + int category = mActionListItem.mCategoryInfo.getCategory();
|
| manager.trackSnippetCategoryActionClick(
|
| category, mActionListItem.mPosition);
|
| - if (category == KnownCategories.BOOKMARKS) {
|
| - manager.navigateToBookmarks();
|
| - } else if (category == KnownCategories.DOWNLOADS) {
|
| - manager.navigateToDownloadManager();
|
| - } else if (category == KnownCategories.FOREIGN_TABS) {
|
| - manager.navigateToRecentTabs();
|
| - } else {
|
| - // TODO(pke): This should redirect to the C++ backend. Once it does,
|
| - // change the condition in the SuggestionsSection constructor.
|
| - Log.wtf(TAG,
|
| - "More action called on a dynamically added section: %d",
|
| - category);
|
| - }
|
| + mActionListItem.mCategoryInfo.performEmptyStateAction(
|
| + manager, recyclerView.getNewTabPageAdapter());
|
| }
|
| });
|
|
|
| @@ -79,7 +65,8 @@ public void onImpression() {
|
| if (mActionListItem != null && !mActionListItem.mImpressionTracked) {
|
| mActionListItem.mImpressionTracked = true;
|
| manager.trackSnippetCategoryActionImpression(
|
| - mActionListItem.mCategory, mActionListItem.mPosition);
|
| + mActionListItem.mCategoryInfo.getCategory(),
|
| + mActionListItem.mPosition);
|
| }
|
| }
|
| });
|
|
|