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.
This commit is contained in:
Suchi Amalapurapu
2010-01-28 09:57:30 -08:00
parent 57405b93f1
commit 08675a3376
15 changed files with 801 additions and 270 deletions

View File

@@ -174,6 +174,11 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
packageFilter.addAction(Intent.ACTION_PACKAGE_RESTARTED);
packageFilter.addDataScheme("package");
context.registerReceiver(broadcastReceiver, 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(broadcastReceiver, sdFilter);
// boot completed
IntentFilter bootFiler = new IntentFilter(Intent.ACTION_BOOT_COMPLETED);