Pass through the browser's application id extra if one is provided, so that the browser can figure out which window to put a new search into.
diff --git a/src/com/android/googlesearch/GoogleSearch.java b/src/com/android/googlesearch/GoogleSearch.java index f7e2a6f..ea0652a 100644 --- a/src/com/android/googlesearch/GoogleSearch.java +++ b/src/com/android/googlesearch/GoogleSearch.java
@@ -106,12 +106,20 @@ if (appSearchData != null) { source = appSearchData.getString(SearchManager.SOURCE); } + + // 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. + String applicationId = intent.getStringExtra(Browser.EXTRA_APPLICATION_ID); 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_POST_DATA, getLocationData()); launchUriIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(launchUriIntent);