Chromium Code Reviews| 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..e49495e0a08c36ef04efce80b1ef5b4c4ce0a75e 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 |
| @@ -7,27 +7,33 @@ |
| import android.content.Context; |
| import android.support.annotation.IntegerRes; |
| import android.support.annotation.StringRes; |
| +import android.view.ContextMenu; |
| import android.view.View; |
| import android.widget.Button; |
| import android.widget.TextView; |
| import org.chromium.chrome.R; |
| +import org.chromium.chrome.browser.ntp.ContextMenuHandler; |
| +import org.chromium.chrome.browser.ntp.NewTabPageView.NewTabPageManager; |
| import org.chromium.chrome.browser.ntp.UiConfig; |
| import org.chromium.chrome.browser.ntp.snippets.SnippetsConfig; |
| /** |
| * ViewHolder for Status and Promo cards. |
| */ |
| -public class StatusCardViewHolder extends CardViewHolder { |
| +public class StatusCardViewHolder extends CardViewHolder implements ContextMenuHandler.Delegate { |
| private final TextView mTitleView; |
| private final TextView mBodyView; |
| private final Button mActionView; |
| + private final NewTabPageManager mNtpManager; |
| - public StatusCardViewHolder(NewTabPageRecyclerView parent, UiConfig config) { |
| + public StatusCardViewHolder( |
| + NewTabPageRecyclerView parent, NewTabPageManager newTabPageManager, UiConfig config) { |
| super(R.layout.new_tab_page_status_card, parent, config); |
| 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); |
| + mNtpManager = newTabPageManager; |
| } |
| /** |
| @@ -83,6 +89,33 @@ public void onClick(View v) { |
| } |
| @Override |
| + protected void createContextMenu(ContextMenu menu) { |
| + ContextMenuHandler handler = new ContextMenuHandler(mNtpManager, getRecyclerView(), this) { |
| + |
|
Bernhard Bauer
2016/11/11 13:30:08
Remove the empty line?
dgn
2016/11/14 18:34:08
Done.
|
| + @Override |
| + public boolean showItem(@ContextMenuItemId int itemId) { |
| + return itemId == ID_REMOVE && isDismissable(); |
| + } |
| + }; |
| + handler.onCreateContextMenu(menu, itemView); |
| + } |
| + |
| + @Override |
| + public void openItem(int windowDisposition) { |
| + throw new UnsupportedOperationException(); |
| + } |
| + |
| + @Override |
| + public void removeItem() { |
| + getRecyclerView().dismissItemWithAnimation(this); |
| + } |
| + |
| + @Override |
| + public boolean canBeSavedOffline() { |
| + return false; |
| + } |
| + |
| + @Override |
| public boolean isDismissable() { |
| return SnippetsConfig.isSectionDismissalEnabled(); |
| } |