diff options
author | Ed Tam <etam@google.com> | 2011-05-17 13:16:47 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-05-17 13:16:47 -0700 |
commit | 43edbab25ab674a62dd841001d03dedb9ee55818 (patch) | |
tree | 44988ab388bb57e23fb316df0e7b6e2a03062c26 /src/com/android/browser/IntentHandler.java | |
parent | e4e3d9c4b74a73fa5962c65ea5ca5c580ed53fd7 (diff) | |
parent | a94de4fc1f36aa329690519fa87d2f5a785ad8e7 (diff) | |
download | packages_apps_Browser-43edbab25ab674a62dd841001d03dedb9ee55818.zip packages_apps_Browser-43edbab25ab674a62dd841001d03dedb9ee55818.tar.gz packages_apps_Browser-43edbab25ab674a62dd841001d03dedb9ee55818.tar.bz2 |
am a94de4fc: DO NOT MERGE - Update and fix RLZ code: - Cache RLZ parameter - Set RLZ parameter for address bar searches - Add broadcast receiver to handle RLZ updates - Update RLZ parameters in home page and bookmarks Bug: 4436761
* commit 'a94de4fc1f36aa329690519fa87d2f5a785ad8e7':
DO NOT MERGE - Update and fix RLZ code: - Cache RLZ parameter - Set RLZ parameter for address bar searches - Add broadcast receiver to handle RLZ updates - Update RLZ parameters in home page and bookmarks Bug: 4436761
Diffstat (limited to 'src/com/android/browser/IntentHandler.java')
-rw-r--r-- | src/com/android/browser/IntentHandler.java | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/browser/IntentHandler.java b/src/com/android/browser/IntentHandler.java index fa8bfbc..b556638 100644 --- a/src/com/android/browser/IntentHandler.java +++ b/src/com/android/browser/IntentHandler.java @@ -221,6 +221,17 @@ public class IntentHandler { headers.put(key, pairs.getString(key)); } } + + // AppId will be set to the Browser for Search Bar initiated searches + final String appId = intent.getStringExtra(Browser.EXTRA_APPLICATION_ID); + if (mActivity.getPackageName().equals(appId)) { + String rlz = mSettings.getRlzValue(); + Uri uri = Uri.parse(url); + if (!rlz.isEmpty() && needsRlz(uri)) { + Uri rlzUri = addRlzParameter(uri, rlz); + url = rlzUri.toString(); + } + } } } else if (Intent.ACTION_SEARCH.equals(action) || MediaStore.INTENT_ACTION_MEDIA_SEARCH.equals(action) @@ -364,4 +375,19 @@ public class IntentHandler { } } + private static boolean needsRlz(Uri uri) { + if ((uri.getQueryParameter("rlz") == null) && + (uri.getQueryParameter("q") != null) && + UrlUtils.isGoogleUri(uri)) { + return true; + } + return false; + } + + private static Uri addRlzParameter(Uri uri, String rlz) { + if (rlz.isEmpty()) { + return uri; + } + return uri.buildUpon().appendQueryParameter("rlz", rlz).build(); + } } |