summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/browser')
-rw-r--r--src/com/android/browser/Controller.java2
-rw-r--r--src/com/android/browser/NavigationBarBase.java2
-rwxr-xr-xsrc/com/android/browser/UrlHandler.java9
3 files changed, 10 insertions, 3 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 4d75a5ff..457b1c47 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -1579,7 +1579,7 @@ public class Controller
menu.setHeaderTitle(Uri.decode(extra));
menu.findItem(R.id.dial_context_menu_id).setIntent(
new Intent(Intent.ACTION_VIEW, Uri
- .parse(WebView.SCHEME_TEL + extra)));
+ .parse(WebView.SCHEME_TEL + Uri.encode(extra))));
Intent addIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
addIntent.putExtra(Insert.PHONE, Uri.decode(extra));
addIntent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
diff --git a/src/com/android/browser/NavigationBarBase.java b/src/com/android/browser/NavigationBarBase.java
index dfdc3bf0..eb8dc537 100644
--- a/src/com/android/browser/NavigationBarBase.java
+++ b/src/com/android/browser/NavigationBarBase.java
@@ -580,7 +580,7 @@ public class NavigationBarBase extends LinearLayout implements
if (url.startsWith(UrlHandler.SCHEME_WTAI_MC)) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(WebView.SCHEME_TEL +
- url.substring(UrlHandler.SCHEME_WTAI_MC.length())));
+ Uri.encode(url.substring(UrlHandler.SCHEME_WTAI_MC.length()))));
getContext().startActivity(intent);
// before leaving BrowserActivity, close the empty child tab.
// If a new tab is created through JavaScript open to load this
diff --git a/src/com/android/browser/UrlHandler.java b/src/com/android/browser/UrlHandler.java
index 8ecffe46..40f08f00 100755
--- a/src/com/android/browser/UrlHandler.java
+++ b/src/com/android/browser/UrlHandler.java
@@ -60,13 +60,20 @@ public class UrlHandler {
return false;
}
+ if (url.startsWith(WebView.SCHEME_TEL)) {
+ Intent intent = new Intent(Intent.ACTION_VIEW,
+ Uri.parse(WebView.SCHEME_TEL +
+ Uri.encode(url.substring(WebView.SCHEME_TEL.length()))));
+ mActivity.startActivity(intent);
+ return true;
+ }
if (url.startsWith(SCHEME_WTAI)) {
// wtai://wp/mc;number
// number=string(phone-number)
if (url.startsWith(SCHEME_WTAI_MC)) {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(WebView.SCHEME_TEL +
- url.substring(SCHEME_WTAI_MC.length())));
+ Uri.encode(url.substring(SCHEME_WTAI_MC.length()))));
mActivity.startActivity(intent);
// before leaving BrowserActivity, close the empty child tab.
// If a new tab is created through JavaScript open to load this