• Home
  • History
  • Annotate
  • only in /frameworks/base/core/java/android/server/search/
History log of /frameworks/base/core/java/android/server/search/
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
earchManagerService.java
52801aae89196b7ad16ef21b07d2d621e7d0bb61 13-Oct-2012 Jeff Sharkey <jsharkey@android.com> Protect more service dump() methods.

Bug: 6406965
Change-Id: Ia45a580c1e6f403308e7e540f18f2c0505af0f29
earchManagerService.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
earchManagerService.java
earchables.java
f203aeef993b0f4ce65c9630d06bbd50a504e89f 30-Aug-2012 Amith Yamasani <yamasani@google.com> Enforce permissions for calls with specified userId

Fix a couple of places where incorrect userIds were being passed in.

Change-Id: I398c676e0488ff7e584be96e96c8b32652134238
earchables.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
earchManagerService.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
earchManagerService.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
earchManagerService.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
earchManagerService.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
earchManagerService.java
earchables.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
earchManagerService.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
earchManagerService.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
earchManagerService.java
earchables.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
earchManagerService.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
earchManagerService.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
earchManagerService.java
earchables.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
earchManagerService.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.
earchManagerService.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.
earchDialogWrapper.java
earchManagerService.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.
earchManagerService.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
earchManagerService.java
earchableInfo.aidl
earchableInfo.java
earchables.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
earchManagerService.java
e9df3cf79c2084391d5af140680cb4a18feca2e2 28-Aug-2009 Mike LeBeau <mlebeau@android.com> resolved conflicts for merge of 1e348378 to eclair
590f63433ce786722d263c7e913a88d3101e5cbc 28-Aug-2009 Karl Rosaen <krosaen@google.com> Revert "Remove third party support for Quick Search Box (aka global search)."

This reverts commit a647b7f29d65a7792cede74284e714b591337992.
earchables.java
dd03c6135f91df6d5d9e71de1487520dc3345742 21-Aug-2009 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 081a136d to eclair
081a136d259c02b2ab8ba773c38e404f7b3c3de4 21-Aug-2009 Anonymous Coward <nobody@android.com> Remove third party support for Quick Search Box (aka global search).

- @hides relevant APIs
- removes relevant javadoc
- enforces that only system apps can participate

note: general support is still there, will be easy to reenable when we are ready.
earchables.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).
earchDialogWrapper.java
earchManagerService.java
83dba19a8e9d5be6f18a4c9e2e254386c25c66fe 30-Jul-2009 Bjorn Bringert <bringert@android.com> Fix in-app search shortcut icons

When the suggstion provider is in a different package from the searchable
activity, the icons stored for shortcuts used the package of the
activity instead of the provider.

Fixes http://b/issue?id=2023993
earchableInfo.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.
earchDialogWrapper.java
earchManagerService.java
1c07ebb6513f00525756ba95de77c72cd35bf5bb 22-Jul-2009 Karl Rosaen <krosaen@google.com> Proactively set mVisible attribute in startSearch and stopSearch (not just in message handler).

This way someone can call searchManger.startSearch() and immediately have searchManger.isVisible() reflect
the correct value.

Fixes failing tests and bug 1993675
earchDialogWrapper.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.
earchDialogWrapper.java
earchManagerService.java
957eb1d975c89cf21fdea1796a89960ad28f63d2 14-Jul-2009 Karl Rosaen <krosaen@google.com> Run the search dialog at THREAD_PRIORITY_DEFAULT instead of THREAD_PRIORITY_FOREGROUND.

When running at forground priority, the search dialog seems to starve the soft keyboard, leading
to unresponsiveness.
earchDialogWrapper.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.
earchDialogWrapper.java
earchManagerService.java
5c04841ee36ba93c9a8998e7668320d74adc3d22 13-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 6912 into donut

* changes:
JavaDoc for SearchableInfo.getActivityMetaData()
13b24b79040d20f784b78055021ac93ff931e07c 13-Jul-2009 Bjorn Bringert <bringert@android.com> JavaDoc for SearchableInfo.getActivityMetaData()

See http://b/editIssue?id=1968025
earchableInfo.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
earchManagerService.java
f4422ce8293bdb4b6d9f091d38ab588d0bb2e4e4 09-Jul-2009 Mike LeBeau <mlebeau@android.com> Check if a searchable is null before adding it to the list of searchables
for web search. If getActivityMetaData returned null for a web search
searchable, previously, this null would get added to the list of searchables
for web search, which was causing GlobalSearch's SearchSettings to crash
with an NPE (which I've guarded against in change 6602).
earchables.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().
earchDialogWrapper.java
earchManagerService.java
earchables.java
d21572cd446e56efe94689324107927ac2bffd2a 08-Jul-2009 Satish Sampath <satish@android.com> NEW_API: Expose autoUrlDetect searchable attribute.

If provided and true, URLs entered in the search dialog while searching within this activity would be detected and treated as URLs (show a 'go' button in the keyboard and invoke the browser directly when user launches the URL instead of passing the URL to the activity). If set to false any URLs entered are treated as normal query text.
The default value is false. This is an optional attribute.
earchableInfo.java
735b333bf6d297700718afd669e1c9e374d0c6e6 01-Jul-2009 Mike LeBeau <mlebeau@android.com> Represent new searchSettingsDescription attribute on searchables in
SearchableInfo.
earchableInfo.java
41282a35568b51270440450c46bb31aa00e52caa 23-Jun-2009 Satish Sampath <satish@android.com> EnhancedGoogleSearch overrides GoogleSearch if present.

This is to fix bug http://b/issue?id=1929993. If user had GoogleSearch
earlier and that was the default, it will get overridden by
EnhancedGoogleSearch when the user installs the latter from the market.
earchables.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.
earchManagerService.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.
earchManagerService.java
earchableInfo.java
35379abd46b68a4efa20035c6c8b9d1faceb4dcc 11-Jun-2009 Satish Sampath <satish@android.com> Added attribute queryAfterZeroResults to searchables.

As of now we are just reading it from the xml and not acting upon it, that would come in a subsequent change.
earchableInfo.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.
earchManagerService.java
earchables.java
0f7e914e87070b8528892380f8316d2fe486f65e 04-Jun-2009 Mike LeBeau <mlebeau@android.com> Turn off verbose logging in SearchableInfo, which seems to have been
left on by accident.
earchableInfo.java
a48a5af931f2fb43c948416180b85dfe9ecdc9a1 20-May-2009 Bjorn Bringert <bringert@android.com> Update searchables list in getSearchablesInGlobalSearch().

Should fix http://b/issue?id=1866432
earchManagerService.java
cbd8a246f86704fb348247245904a9f114f11280 15-May-2009 Satish Sampath <satish@android.com> Additional logging in buildSearchableList().

It is useful to know when the system could not find a unique global search provider, either due to clash of priority values or other reasons.
earchables.java
a92041306e4d73baa10fb711fb905b9590f06b26 05-May-2009 Bjorn Bringert <bringert@android.com> Refactor SearchableInfo.

- Removes the mSearchable field which was only
for communication between the constructor and
getActivityMetaData().
- Removes the badge and query rewriting fields,
since their values can be efficiently computed
on the fly.
- Makes all the other public fields private and adds getters
for them.
- Makes all fields final, except mActionKeys.
- Removes the DBG_INHIBIT_SUGGESTIONS_CONSTANT.
I don't see why we would every want that, and it
complicated making the fields final.
- Makes all fields in ActionKeyInfo final.
- Makes all fields in ActionKeyInfo private and adds getters.
- Removes the use of ActioKeyInfo.mKeyCode for failure
signalling. Uses IllegalArgumentException instead.
- Replaces the ad hoc linked list for looking up
action keys by a HashMap. This is needed to
make the fields in ActionkeyInfo final, and also avoids O(N)
lookup in the (unlikely) case that an activity
has lots of action keys.
- Don't throw exceptions when reading searchable
meta-data, since that could crash SearchManagerService.
- Adds debug logging.
earchableInfo.java
earchables.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
earchManagerService.java
earchableInfo.java
earchables.java
203464af9638e4d5aecd811452af67fff9aa3087 27-Apr-2009 Bjorn Bringert <bringert@android.com> Add searchSuggestThreshold to searchable meta-data.

This lets the searchable activity specify the number of
characters needed to trigger suggestions. Before, this was
hard-coded at 0. This caused unnecessary querying of the
suggestion provider in cases where the provider does not
return suggestions for empty or short queries.

The attribute is not yet public, pending API council approval.
earchableInfo.java
74708bbdf8d6f172b08343bdc578a20aa4b39148 28-Apr-2009 Bjorn Bringert <bringert@android.com> Add GLOBAL_SEARCH intent for finding global search provider.
earchManagerService.java
earchables.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
earchManagerService.java
earchableInfo.java
earchables.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
earchManagerService.java
earchableInfo.aidl
earchableInfo.java
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
earchManagerService.java
earchableInfo.aidl
earchableInfo.java
ackage.html
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
earchableInfo.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
earchableInfo.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
earchableInfo.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
earchableInfo.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
earchableInfo.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
earchableInfo.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
earchManagerService.java
earchableInfo.aidl
earchableInfo.java
ackage.html