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

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java

Issue 2619493006: [Android] Chagne items shown in context menu for tel link (Closed)
Patch Set: 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/tab/TabContextMenuItemDelegate.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
index 07ef7142b9ae5e5d22851efd8a5d25edb4664a0e..f61ce4bf011320e28b3fefaece8f85e711c870d8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/tab/TabContextMenuItemDelegate.java
@@ -78,6 +78,21 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
}
@Override
+ public boolean supportsCall() {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse("tel:"));
+ return mTab.getWindowAndroid().canResolveActivity(intent);
+ }
+
+ @Override
+ public void onCall(String uri) {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.setData(Uri.parse(uri));
+ IntentUtils.safeStartActivity(mTab.getActivity(), intent);
+ }
+
+ @Override
public boolean supportsSendEmailMessage() {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("mailto:test@example.com"));
@@ -93,6 +108,20 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
}
@Override
+ public boolean supportsSendTextMessage() {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse("sms:"));
+ return mTab.getWindowAndroid().canResolveActivity(intent);
+ }
+
+ @Override
+ public void onSendTextMessage(String url) {
+ Intent intent = new Intent(Intent.ACTION_VIEW);
+ intent.setData(Uri.parse("sms:" + UrlUtilities.getTelNumber(url)));
+ IntentUtils.safeStartActivity(mTab.getActivity(), intent);
+ }
+
+ @Override
public boolean supportsAddToContacts() {
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
@@ -104,8 +133,12 @@ public class TabContextMenuItemDelegate implements ContextMenuItemDelegate {
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
- intent.putExtra(
- ContactsContract.Intents.Insert.EMAIL, MailTo.parse(url).getTo().split(",")[0]);
+ if (MailTo.isMailTo(url)) {
+ intent.putExtra(
+ ContactsContract.Intents.Insert.EMAIL, MailTo.parse(url).getTo().split(",")[0]);
+ } else if (UrlUtilities.isTelScheme(url)) {
+ intent.putExtra(ContactsContract.Intents.Insert.PHONE, UrlUtilities.getTelNumber(url));
+ }
IntentUtils.safeStartActivity(mTab.getActivity(), intent);
}

Powered by Google App Engine
This is Rietveld 408576698