| 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 fb93fb7818151740e6d1d7384e0ca2d6ebfecee5..251ea9d1ecdbac594c6846fc0dd2d21270117bc3 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
|
| @@ -9,12 +9,16 @@
|
|
|
| import org.chromium.base.VisibleForTesting;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.ntp.ContextMenuManager;
|
| +import org.chromium.chrome.browser.ntp.ContextMenuManager.Delegate;
|
| import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager;
|
| import org.chromium.chrome.browser.ntp.UiConfig;
|
| import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig;
|
|
|
| import java.lang.annotation.Retention;
|
| import java.lang.annotation.RetentionPolicy;
|
| +import java.util.HashSet;
|
| +import java.util.Set;
|
|
|
| /**
|
| * Item that allows the user to perform an action on the NTP.
|
| @@ -98,12 +102,12 @@ private int findAppropriateAction() {
|
| return ACTION_NONE;
|
| }
|
|
|
| - public static class ViewHolder extends CardViewHolder {
|
| + public static class ViewHolder extends CardViewHolder implements ContextMenuManager.Delegate {
|
| private ActionItem mActionListItem;
|
|
|
| public ViewHolder(final NewTabPageRecyclerView recyclerView,
|
| final NewTabPageManager manager, UiConfig uiConfig) {
|
| - super(R.layout.new_tab_page_action_card, recyclerView, uiConfig);
|
| + super(R.layout.new_tab_page_action_card, recyclerView, uiConfig, manager);
|
|
|
| itemView.findViewById(R.id.action_button)
|
| .setOnClickListener(new View.OnClickListener() {
|
| @@ -133,6 +137,37 @@ public boolean isDismissable() {
|
| && !mActionListItem.mParentSection.hasSuggestions();
|
| }
|
|
|
| + @Override
|
| + protected Delegate getContextMenuDelegate() {
|
| + return this;
|
| + }
|
| +
|
| + @Override
|
| + public void openItem(int windowDisposition) {
|
| + throw new UnsupportedOperationException();
|
| + }
|
| +
|
| + @Override
|
| + public void removeItem() {
|
| + getRecyclerView().dismissItemWithAnimation(this);
|
| + }
|
| +
|
| + @Override
|
| + public String getUrl() {
|
| + return null;
|
| + }
|
| +
|
| + @Override
|
| + public Set<Integer> getSupportedMenuItems() {
|
| + Set<Integer> supportedItems = new HashSet<>();
|
| +
|
| + if (isDismissable()) {
|
| + supportedItems.add(ContextMenuManager.ID_REMOVE);
|
| + }
|
| +
|
| + return supportedItems;
|
| + }
|
| +
|
| public void onBindViewHolder(ActionItem item) {
|
| super.onBindViewHolder();
|
| mActionListItem = item;
|
|
|