History log of /frameworks/base/core/java/android/server/search/SearchManagerService.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
e6687942308b64e32d292ae1e5d38beeb86c951f 29-Oct-2012 Amith Yamasani <yamasani@google.com> Only send broadcasts to registered receivers

Fix for issue found in #7420259

Not sure if this fixes the actual ringtone issue, but it clears the way.

Change-Id: I7fd5584df2dc254ba7281f57e51143c79bfcff63
/frameworks/base/core/java/android/server/search/SearchManagerService.java
52801aae89196b7ad16ef21b07d2d621e7d0bb61 13-Oct-2012 Jeff Sharkey <jsharkey@android.com> Protect more service dump() methods.

Bug: 6406965
Change-Id: Ia45a580c1e6f403308e7e540f18f2c0505af0f29
/frameworks/base/core/java/android/server/search/SearchManagerService.java
64442c11555d828a41af0b8a58ab933357889061 07-Oct-2012 Amith Yamasani <yamasani@google.com> Fix resource reading for secondary users

Bug: 7086881

Load resources for the correct user.

Also clean up package monitoring and locking.
Added dump method to SearchManagerService.

Sneaking in a change to make crash dialogs visible to current user.

Change-Id: Id56dd15428d66084de995e28be242db27c15fda3
/frameworks/base/core/java/android/server/search/SearchManagerService.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
/frameworks/base/core/java/android/server/search/SearchManagerService.java
f02b60aa4f367516f40cf3d60fffae0c6fe3e1b8 16-Aug-2012 Dianne Hackborn <hackbod@google.com> Rename UserId to UserHandle.

This is the start of turning this into a formal public API.

Change-Id: I5786d2c320f1de41a06ed5d0f65adb68967287a0
/frameworks/base/core/java/android/server/search/SearchManagerService.java
c1d07a4bd26c0ecf87bfa151ae43cb92c0c73791 14-Aug-2012 Amith Yamasani <yamasani@google.com> Launch ASSIST intent on the current user

Lockscreen and statusbar now launch the intent on the current user.
Make sure that the intent resolution is made to the package manager
for the specific user, as the app could have been disabled for that
user or may have an alternative app installed.

Change-Id: I93b0f972d6c7e8880b146da83dc3d08a68fe7e51
/frameworks/base/core/java/android/server/search/SearchManagerService.java
258848d2ae04f447ff1c18023fa76b139fcc0862 11-Aug-2012 Amith Yamasani <yamasani@google.com> User Manager service to manage users and query user details

Moved a bunch of methods from PackageManager to UserManager.

Fix launching of activities from recents to correct user.

Guest creation APIs

Change-Id: I0733405e6eb2829675665e225c759d6baa2b708f
/frameworks/base/core/java/android/server/search/SearchManagerService.java
5bb87cd9b81506b0c25d3f9184e406762a9e9d9c 14-Jun-2012 Amith Yamasani <yamasani@google.com> SearchManagerService made multi-user aware

Cache Searchables per user and query package manager through the
private interface.

Change-Id: I1d24fdd27cce8c27be45287cbfcb4df1e2ce2cf1
/frameworks/base/core/java/android/server/search/SearchManagerService.java
d0d7503fd3e941113094532f28986f49b11b5fdb 20-Apr-2012 Dianne Hackborn <hackbod@google.com> Move handling of package changes to a background thread.

Helps get rid of some jank when installing applications.

Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
/frameworks/base/core/java/android/server/search/SearchManagerService.java
13bc602b2118af550c7ed99c4582fb7db7622002 23-Aug-2011 Amith Yamasani <yamasani@google.com> Update searchables when packages are modified, in case they are enabled/disabled.

Bug: 5198361 : SearchManagerService doesn't respond to package updates.
Change-Id: I2ac794c5da4769eadd6b860ab0f9123060d2a5e5
/frameworks/base/core/java/android/server/search/SearchManagerService.java
ee69ff4eaee9342843d5f25338288865dda2d36a 28-Jun-2011 Narayan Kamath <narayan@google.com> Make the system global search provider a user setting.

Also, modify Searchables / SearchManagerService to
honour the setting when it's set.

Change-Id: Ia63351fff4fe28ee79ac8b9e30fdb8edc43f5534
/frameworks/base/core/java/android/server/search/SearchManagerService.java
2c7b197a4ab1aff671a6fa2e6db540d391f553e6 04-May-2010 Bjorn Bringert <bringert@android.com> Build searchables list after boot

This avoids delaying the first launch of QuickSearchBox or Browser
after boot while SearchManagerService builds the searchables list.

Bug http://b/issue?id=2639863

Change-Id: Ia510204691ecf487a2008723fe8f6caaced86618
/frameworks/base/core/java/android/server/search/SearchManagerService.java
ab5d96c5daf4bcc9b7a0cde44357454a11a8e48a 23-Feb-2010 Bjorn Bringert <bringert@android.com> Use PackageMonitor in SearchManagerService

This should reduce the number of updates to the searchables
list if multiple packages change at the same time.

Fixes http://b/issue?id=2270711

Change-Id: Ieb930022866aa2872f8df1af677e3ea1645349bf
/frameworks/base/core/java/android/server/search/SearchManagerService.java
6cf7a325e6e9e70d9858e21fbb438341332ed254 23-Feb-2010 Bjorn Bringert <bringert@android.com> Clean up global search and web search activity finding

This removes the '*' value for android.app.searchable and
android.app.default_searchable that was previously used by apps to say
that they want global search as their search. I think the only
activity that this will affect is the wallpaper chooser in the
launcher, which doesn't seem like it matters. It could mean that some
third party code will stop invoking global search, but all they would
need to do is call startSearch() with globalSearch=true instead.

Fixes http://b/issue?id=2377433 and http://b/issue?id=2377429

Change-Id: I0252952b44ae85dab31221b598ed79cc24e2b580
/frameworks/base/core/java/android/server/search/SearchManagerService.java
b56ae20b22fd7283df32072a431ab6d4965f3c1b 05-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Rename media resource broadcasts
Add checks for fwdlocked and updated system apps
add more tests
remove duplicate adds
/frameworks/base/core/java/android/server/search/SearchManagerService.java
08675a3376819a82aa5ab344bc3e7b1635c30b05 28-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> Apps on sdcard: Add new broadcasts

Add new broadcasts ACTION_MEDIA_RESOURCES_AVAILABLE and
ACTION_MEDIA_RESOURCES_UNAVAILABLE that get broadcast by
PackageManagerService when sdcard gets mounted/unmounted
by MountService so that packages on sdcard get recognized by
various system services as being installed/available or
removed/unavailable by the system.
The broadcasts are sent before the actual package cleanup which includes
mounting/unmounting the packages and we force a gc right after so
that any lingering file references to resources on sdcard get
released.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
e9ce3f01d42769f03f10e70c3244500e92d7eee1 25-Jan-2010 Amith Yamasani <yamasani@google.com> Move Search dialog out of system process into current activity.

SearchManager now manages the SearchDialog, in-process.
Nuked SearchDialogWrapper
SearchManagerService now just holds the Searchables information.
Hitting Search when in the local Search dialog will launch the QSB.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
1c633fc89bae9bf0af6fe643ac7ad2e744f27bed 09-Dec-2009 Dianne Hackborn <hackbod@google.com> Implement API to have new broadcasts replace existing broadcasts.

Use this in various places where it should serve no purpose to deliver
both broadcasts. This is intended to reduce somewhat the flurry of
broadcasts that we churn through during boot.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
2126aac7f992b57fc52141a8bd09fa7a45ac2509 03-Dec-2009 Bjorn Bringert <bringert@android.com> Move android.server.search.SearchableInfo to android.app

We need to expose SearchableInfo in the SDK in order to unbundle
Quick Search Box. Since the android.server.search package is
hidden, I'm moving SearchableInfo to android.app, where
SearchManager lives.

This change doesn't actually expose SearchableInfo. I'll do
that in a separate change to keep the change that
api-council needs to review small.

This is part of the fix for: http://b/issue?id=2270838

Change-Id: I9589f9c2c11d36c958beedff8245fe0c3319c6ba
/frameworks/base/core/java/android/server/search/SearchManagerService.java
b782a2f4f0a3072f2677f6f10fb255c77468ae66 01-Oct-2009 Bjorn Bringert <bringert@android.com> Remove globalSearch argument from triggerSearch()

API council says:

"In reviewing the new triggerSearch API, we are concerned that
applications could use the option to perform a global search to spam
the user with frequent searches. We would like the global search
option to be removed for now (not just hidden, but removed from the
internal IPC API so that nobody can find this and abuse it). The rest
of the API should be fine as long as it is restricted to local
searches."

Fixes http://b/editIssue?id=2158785

Change-Id: Ie69a9c0ab6373cc4427aab50606885bdede40585
/frameworks/base/core/java/android/server/search/SearchManagerService.java
d2d6014f715f12f6263f61ba3eeb6f8cba6d0fa6 17-Aug-2009 krosaen <krosaen@android.com> NEW API for SearchManager and Activity to 'triggerSearch'.

This is pretty much the same thing as startSearch, except it also launches the
query. We enforce that this can only be done for the package of the app that is
associated with the search mananger (e.g you can't trigger a contacts search
from anywhere).
/frameworks/base/core/java/android/server/search/SearchManagerService.java
a6ddc8af22af6bce879c5bf906aad16c0b3d6b01 29-Jul-2009 Dianne Hackborn <hackbod@google.com> Fix issue #1999179: search -> click result -> press home = search dialog is shown then hidden

Re-arrange various things to ensure that the search dialog is told about system windows being
closed before it is told about the navigation back to home.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
ea52d29bc46c306f3607d121aa1ad84f0e9eb473 20-Jul-2009 Karl Rosaen <krosaen@google.com> Fix back key handling for search dialog.

Now that the search manager service handles hiding (not dismissing) and reshowing it
when the user hits back after launching a result, search manager can't cache
"mShowing". Also noticed a few other minor problems that was hosing the handling
of pause / resume to reshow the dialog, like moving some logic to onHide instead
of onDismiss.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
b06ea706530e6d19eb2a1a9a7ae6c5dd77d80af0 13-Jul-2009 Dianne Hackborn <hackbod@google.com> Add reporting of activity movement for search manager.

This adds a new API with the activity manager to find out about movement between
activities. For my sanity, the old IActivityWatcher is now renamed to
IActivityController, and the new activity movement interface is named
IActivityWatcher.

This changes the search manager itself to use the new API to manage its state.
Note that there are still problems when going back to the search dialog after
it was hidden -- the suggestions window no longer appears until you explicitly
dismiss and re-show it.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
9bc75cb9c23e5df528a28acc1fbbb4b5be51c33d 13-Jul-2009 Bjorn Bringert <bringert@android.com> Initialize searchmanager on demand

The initialization of SearchManagerService is delayed, which caused
problems when other services (e.g. GlobalSearch) start up.
This change makes the SearchManagerService components
initialize when they are first needed, or when the server thread
is done with its other processing, whichever comes first.

Fixes http://b/issue?id=1970975
/frameworks/base/core/java/android/server/search/SearchManagerService.java
444c727e0eecf83e9d0b9c4e7af5cbf5fc4135f8 06-Jul-2009 Bjorn Bringert <bringert@android.com> Run search UI on its own thread.

Details:

- Add a new SearchDialogWrapper class that makes sure
all access to the SearchDialog is run one a single thread
other than the main ServerThread.
- Don't save/restore seach dialog state in Activity.
This resulted in lots of calls to the SearchManager
throughout the life cycle of all activities, for
the questionable benefit of restoring the search dialog
in a few cases.
- Remove search UI state save/restore, and the isVisible()
method from SearchManagerService. They are no longer used,
and were tricky to implement since they return values from
the search UI thread to the service.
- Handle configuration changes in searchDialogWrapper instead
of calling through from Activity.

Fixes http://b/issue?id=1938101

TODO:
- Activity.performPause() calls stopSearch(). This call may not happen
until the new activity has been started. If the new activity starts a
search immediately, this search could be cancelled by the old activity's
call top stopSearch().
/frameworks/base/core/java/android/server/search/SearchManagerService.java
3ed6a3342b89651e8359956cefcc0076b6a4a30a 15-Jun-2009 Karl Rosaen <krosaen@google.com> protect starting of search dialog behind 'dev.disablesearchdialog' system property.

this will help the stress test runs find out the effect of search.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
8d17f3f24bbda9a9cd7ea08c5925508dc2c011be 05-Jun-2009 Bjorn Bringert <bringert@android.com> Run search dialog in the system process.

Fixes http://b/issue?id=1905863

This is needed to address two security issues with global search:
http://b/issue?id=1871088 (Apps can read content providers through GlobalSearch)
http://b/issue?id=1819627 (Apps can use GlobalSearch to launch arbirtrary intents)

This also fixes http://b/issue?id=1693153 (SearchManager.OnDismissListener
never gets called)

To fix the security issues, GlobalSearch also needs to require
a non-app permission to access its content provider and launch intents.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
f9acde27486bcc6eea1092073f7b47c31749efd6 04-Jun-2009 Satish Sampath <satish@android.com> Include web search providers in Searchables.

- Along with ACTION_SEARCH we now enumate ACTION_WEB_SEARCH as well so web search providers are covered in the searchables list. This fixes a broken unit test.
- Moved get/setPreferredWebSearchActivity and get-all-web-search-providers implementation to this module when the searchables list gets updated, so that it happens on boot and on package add/remove events and remains up to date. The duplicate code in WebSearchProvider will be removed in a separate change.
- Also made Searchables broadcast an intent when the searchables list got rebuilt, so components such as GlobalSearch/SuggestionSources no longer need to do this on their own.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
a48a5af931f2fb43c948416180b85dfe9ecdc9a1 20-May-2009 Bjorn Bringert <bringert@android.com> Update searchables list in getSearchablesInGlobalSearch().

Should fix http://b/issue?id=1866432
/frameworks/base/core/java/android/server/search/SearchManagerService.java
6d72e029cb6e5a9cf26aa3314c3dca83614fc91b 29-Apr-2009 Bjorn Bringert <bringert@android.com> Add 'includeInGlobalSearch' attribute to searchable meta-data.

The attribute is not yet public.
Also adds a SearchManager method for listing all
searchables that can be included in global search.
This is the framework part of http://b/issue?id=1819651
/frameworks/base/core/java/android/server/search/SearchManagerService.java
74708bbdf8d6f172b08343bdc578a20aa4b39148 28-Apr-2009 Bjorn Bringert <bringert@android.com> Add GLOBAL_SEARCH intent for finding global search provider.
/frameworks/base/core/java/android/server/search/SearchManagerService.java
875d50a4b9294b2be33cff6493cae7acd1d07ea7 24-Apr-2009 Karl Rosaen <> AI 147564: Merge back from search branch to donut. Notes:
- all public apis and framework changes have been reviewed by relevant folks in our branch (e.g romainguy)
- all new public apis are @hidden; they will still get reviewed by api council once we're in git
- other than that, it's mostly GlobalSearch and search dialog stuff, a new apps provider, and some tweaks
to the contacts provider that was reviewed by jham

Automated import of CL 147564
/frameworks/base/core/java/android/server/search/SearchManagerService.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/server/search/SearchManagerService.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/server/search/SearchManagerService.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/server/search/SearchManagerService.java