diff options
Diffstat (limited to 'src/com/android/browser')
-rw-r--r-- | src/com/android/browser/Controller.java | 2 | ||||
-rw-r--r-- | src/com/android/browser/NavigationBarBase.java | 2 | ||||
-rwxr-xr-x | src/com/android/browser/UrlHandler.java | 9 |
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 |