Pass along our package name as the app id if one is not passed in for
web search intents.
Fixes http://b/2020191
diff --git a/src/com/android/googlesearch/GoogleSearch.java b/src/com/android/googlesearch/GoogleSearch.java
index ea0652a..c0db663 100644
--- a/src/com/android/googlesearch/GoogleSearch.java
+++ b/src/com/android/googlesearch/GoogleSearch.java
@@ -109,17 +109,19 @@
// The browser can pass along an application id which it uses to figure out which
// window to place a new search into. So if this exists, we'll pass it back to
- // the browser.
+ // the browser. Otherwise, add our own package name as the application id, so that
+ // the browser can organize all searches launched from this provider together.
String applicationId = intent.getStringExtra(Browser.EXTRA_APPLICATION_ID);
+ if (applicationId == null) {
+ applicationId = getPackageName();
+ }
try {
String searchUri = googleSearchUrlBase
+ "&source=android-" + source
+ "&q=" + URLEncoder.encode(query, "UTF-8");
Intent launchUriIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(searchUri));
- if (applicationId != null) {
- launchUriIntent.putExtra(Browser.EXTRA_APPLICATION_ID, applicationId);
- }
+ launchUriIntent.putExtra(Browser.EXTRA_APPLICATION_ID, applicationId);
launchUriIntent.putExtra(Browser.EXTRA_POST_DATA, getLocationData());
launchUriIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(launchUriIntent);