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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/ActionItem.java

Issue 2459033002: 📰 Add a context menu to remove status items (Closed)
Patch Set: fix test Created 4 years, 1 month 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/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;

Powered by Google App Engine
This is Rietveld 408576698