Wait for ASECs to be scanned before proceeding
Move MountService up the list, then pause waiting for MountService to finish scanning ASECs before the services that require those packages to be ready. Additionally, don't automatically mark all ASEC apps as FLAG_EXTERNAL on reboot. This prevents AppWidgets and other things from being used with ASECs which are on internal storage. Bug: 6445613 Change-Id: I3e0b3e244fec966814d7a5ea93de5d337aea79bd
This commit is contained in:
@@ -320,6 +320,21 @@ class ServerThread extends Thread {
|
||||
}
|
||||
|
||||
if (factoryTest != SystemServer.FACTORY_TEST_LOW_LEVEL) {
|
||||
MountService mountService = null;
|
||||
if (!"0".equals(SystemProperties.get("system_init.startmountservice"))) {
|
||||
try {
|
||||
/*
|
||||
* NotificationManagerService is dependant on MountService,
|
||||
* (for media / usb notifications) so we must start MountService first.
|
||||
*/
|
||||
Slog.i(TAG, "Mount Service");
|
||||
mountService = new MountService(context);
|
||||
ServiceManager.addService("mount", mountService);
|
||||
} catch (Throwable e) {
|
||||
reportWtf("starting Mount Service", e);
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
Slog.i(TAG, "LockSettingsService");
|
||||
lockSettings = new LockSettingsService(context);
|
||||
@@ -441,17 +456,13 @@ class ServerThread extends Thread {
|
||||
reportWtf("starting UpdateLockService", e);
|
||||
}
|
||||
|
||||
if (!"0".equals(SystemProperties.get("system_init.startmountservice"))) {
|
||||
try {
|
||||
/*
|
||||
* NotificationManagerService is dependant on MountService,
|
||||
* (for media / usb notifications) so we must start MountService first.
|
||||
*/
|
||||
Slog.i(TAG, "Mount Service");
|
||||
ServiceManager.addService("mount", new MountService(context));
|
||||
} catch (Throwable e) {
|
||||
reportWtf("starting Mount Service", e);
|
||||
}
|
||||
/*
|
||||
* MountService has a few dependencies: Notification Manager and
|
||||
* AppWidget Provider. Make sure MountService is completely started
|
||||
* first before continuing.
|
||||
*/
|
||||
if (mountService != null) {
|
||||
mountService.waitForAsecScan();
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user