diff options
author | Suchi Amalapurapu <asuchitra@google.com> | 2010-01-28 09:57:30 -0800 |
---|---|---|
committer | Suchi Amalapurapu <asuchitra@google.com> | 2010-02-02 18:33:29 -0800 |
commit | 08675a3376819a82aa5ab344bc3e7b1635c30b05 (patch) | |
tree | 9a16e6be377fe367639ef9e02c5421e0ce9b9044 /core/java/android/server | |
parent | 57405b93f194851eb2187a8ed3362be18a483a17 (diff) | |
download | frameworks_base-08675a3376819a82aa5ab344bc3e7b1635c30b05.zip frameworks_base-08675a3376819a82aa5ab344bc3e7b1635c30b05.tar.gz frameworks_base-08675a3376819a82aa5ab344bc3e7b1635c30b05.tar.bz2 |
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.
Diffstat (limited to 'core/java/android/server')
-rw-r--r-- | core/java/android/server/search/SearchManagerService.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/core/java/android/server/search/SearchManagerService.java b/core/java/android/server/search/SearchManagerService.java index 9953b56..324fbaa 100644 --- a/core/java/android/server/search/SearchManagerService.java +++ b/core/java/android/server/search/SearchManagerService.java @@ -73,6 +73,11 @@ public class SearchManagerService extends ISearchManager.Stub { packageFilter.addAction(Intent.ACTION_PACKAGE_CHANGED); packageFilter.addDataScheme("package"); mContext.registerReceiver(mPackageChangedReceiver, packageFilter); + // Register for events related to sdcard installation. + IntentFilter sdFilter = new IntentFilter(); + sdFilter.addAction(Intent.ACTION_MEDIA_RESOURCES_AVAILABLE); + sdFilter.addAction(Intent.ACTION_MEDIA_RESOURCES_UNAVAILABLE); + mContext.registerReceiver(mPackageChangedReceiver, sdFilter); } private synchronized Searchables getSearchables() { @@ -90,7 +95,9 @@ public class SearchManagerService extends ISearchManager.Stub { if (Intent.ACTION_PACKAGE_ADDED.equals(action) || Intent.ACTION_PACKAGE_REMOVED.equals(action) || - Intent.ACTION_PACKAGE_CHANGED.equals(action)) { + Intent.ACTION_PACKAGE_CHANGED.equals(action) || + Intent.ACTION_MEDIA_RESOURCES_AVAILABLE.equals(action) || + Intent.ACTION_MEDIA_RESOURCES_UNAVAILABLE.equals(action)) { if (DBG) Log.d(TAG, "Got " + action); // Update list of searchable activities getSearchables().buildSearchableList(); |