summaryrefslogtreecommitdiff
path: root/core/java/android/app/SearchManager.java
diff options
context:
space:
mode:
authorBjorn Bringert <bringert@android.com>2010-03-16 12:54:41 +0000
committerBjorn Bringert <bringert@android.com>2010-03-16 12:56:24 +0000
commit3c24cb77e7c2ab641b9147a02ce997f3356b7b69 (patch)
tree89e83704c5edb6f5f80072799513ab885a6f4715 /core/java/android/app/SearchManager.java
parent2c62f5f433292f40550de5f7ba24b1f03d659edc (diff)
Set SOURCE to app package name when starting QSB (if not set)
If QSB is started by SearchManager.startSearch(globalSearch=true) from some app that doesn't set SOURCE, it will be set to the package name of that app. Bug: http://b/issue?id=2315234 Change-Id: Ic07a143b27b658dea8b081b973ac24349a18b9f1
Diffstat (limited to 'core/java/android/app/SearchManager.java')
-rw-r--r--core/java/android/app/SearchManager.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/core/java/android/app/SearchManager.java b/core/java/android/app/SearchManager.java
index 625b12072428..86224c5d91bc 100644
--- a/core/java/android/app/SearchManager.java
+++ b/core/java/android/app/SearchManager.java
@@ -1654,10 +1654,17 @@ public class SearchManager
Intent intent = new Intent(INTENT_ACTION_GLOBAL_SEARCH);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(globalSearchActivity);
- // TODO: Always pass name of calling package as an extra?
- if (appSearchData != null) {
- intent.putExtra(APP_DATA, appSearchData);
+ // Make sure that we have a Bundle to put source in
+ if (appSearchData == null) {
+ appSearchData = new Bundle();
+ } else {
+ appSearchData = new Bundle(appSearchData);
}
+ // Set source to package name of app that starts global search, if not set already.
+ if (!appSearchData.containsKey("source")) {
+ appSearchData.putString("source", mContext.getPackageName());
+ }
+ intent.putExtra(APP_DATA, appSearchData);
if (!TextUtils.isEmpty(initialQuery)) {
intent.putExtra(QUERY, initialQuery);
}