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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.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/StatusCardViewHolder.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java
index 48ec0ee071cab3ae868681c1abfaca266c590a34..92a82731e9475b68cc50421764ca1e2393569c6e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ntp/cards/StatusCardViewHolder.java
@@ -12,19 +12,26 @@
import android.widget.TextView;
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.util.HashSet;
+import java.util.Set;
+
/**
* ViewHolder for Status and Promo cards.
*/
-public class StatusCardViewHolder extends CardViewHolder {
+public class StatusCardViewHolder extends CardViewHolder implements ContextMenuManager.Delegate {
private final TextView mTitleView;
private final TextView mBodyView;
private final Button mActionView;
- public StatusCardViewHolder(NewTabPageRecyclerView parent, UiConfig config) {
- super(R.layout.new_tab_page_status_card, parent, config);
+ public StatusCardViewHolder(
+ NewTabPageRecyclerView parent, NewTabPageManager newTabPageManager, UiConfig config) {
+ super(R.layout.new_tab_page_status_card, parent, config, newTabPageManager);
mTitleView = (TextView) itemView.findViewById(R.id.status_title);
mBodyView = (TextView) itemView.findViewById(R.id.status_body);
mActionView = (Button) itemView.findViewById(R.id.status_action_button);
@@ -83,6 +90,37 @@ public void onClick(View v) {
}
@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 (SnippetsConfig.isSectionDismissalEnabled()) {
+ supportedItems.add(ContextMenuManager.ID_REMOVE);
+ }
+
+ return supportedItems;
+ }
+
+ @Override
public boolean isDismissable() {
return SnippetsConfig.isSectionDismissalEnabled();
}

Powered by Google App Engine
This is Rietveld 408576698