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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java

Issue 2605283002: [Android] Change items shown in context meanu for mailto link (Closed)
Patch Set: Update based on Ted's comments. Created 3 years, 11 months 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/contextmenu/ChromeContextMenuPopulator.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
index de05f0476f745fadfe1976616501b796222d4ad8..b439b43f972aae8326745aa2a6612f264040c6f0 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/contextmenu/ChromeContextMenuPopulator.java
@@ -50,6 +50,8 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
// Items that are included in all context menus.
private static final int[] BASE_WHITELIST = {
R.id.contextmenu_copy_link_address,
+ R.id.contextmenu_send_message,
+ R.id.contextmenu_add_to_contacts,
R.id.contextmenu_copy_email_address,
R.id.contextmenu_copy_link_text,
R.id.contextmenu_save_link_as,
@@ -103,7 +105,9 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
static final int ACTION_SAVE_VIDEO = 14;
static final int ACTION_SHARE_IMAGE = 19;
static final int ACTION_OPEN_IN_OTHER_WINDOW = 20;
- static final int NUM_ACTIONS = 21;
+ static final int ACTION_SEND_MESSAGE = 21;
+ static final int ACTION_ADD_TO_CONTACTS = 22;
+ static final int NUM_ACTIONS = 23;
// Note: these values must match the ContextMenuSaveLinkType enum in histograms.xml.
// Only add new values at the end, right before NUM_TYPES. We depend on these specific
@@ -212,9 +216,20 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
}
if (MailTo.isMailTo(params.getLinkUrl())) {
+ menu.findItem(R.id.contextmenu_copy_link_text).setVisible(false);
menu.findItem(R.id.contextmenu_copy_link_address).setVisible(false);
+ menu.setGroupVisible(R.id.contextmenu_group_email, true);
+ if (!mDelegate.supportsSendEmailMessage()) {
+ menu.findItem(R.id.contextmenu_send_message).setVisible(false);
+ }
+ if (!mDelegate.supportsAddToContacts()) {
+ menu.findItem(R.id.contextmenu_add_to_contacts).setVisible(false);
+ }
+ if (TextUtils.isEmpty(MailTo.parse(params.getLinkUrl()).getTo())) {
Ted C 2017/01/04 18:40:08 I would || this with the condition above.
ltian 2017/01/04 20:46:58 Done.
+ menu.findItem(R.id.contextmenu_add_to_contacts).setVisible(false);
+ }
} else {
- menu.findItem(R.id.contextmenu_copy_email_address).setVisible(false);
+ menu.setGroupVisible(R.id.contextmenu_group_email, false);
}
menu.findItem(R.id.contextmenu_save_link_as).setVisible(
@@ -341,6 +356,12 @@ public class ChromeContextMenuPopulator implements ContextMenuPopulator {
ContextMenuUma.record(params, ContextMenuUma.ACTION_COPY_LINK_ADDRESS);
mDelegate.onSaveToClipboard(params.getUnfilteredLinkUrl(),
ContextMenuItemDelegate.CLIPBOARD_TYPE_LINK_URL);
+ } else if (itemId == R.id.contextmenu_send_message) {
+ ContextMenuUma.record(params, ContextMenuUma.ACTION_SEND_MESSAGE);
+ mDelegate.onSendMessage(params.getLinkUrl());
+ } else if (itemId == R.id.contextmenu_add_to_contacts) {
+ ContextMenuUma.record(params, ContextMenuUma.ACTION_ADD_TO_CONTACTS);
+ mDelegate.onAddToContacts(params.getLinkUrl());
} else if (itemId == R.id.contextmenu_copy_email_address) {
ContextMenuUma.record(params, ContextMenuUma.ACTION_COPY_EMAIL_ADDRESS);
mDelegate.onSaveToClipboard(MailTo.parse(params.getLinkUrl()).getTo(),

Powered by Google App Engine
This is Rietveld 408576698