From ada454152e0e2a1771f2d6574057afdb5fe01fe4 Mon Sep 17 00:00:00 2001 From: padarshr Date: Wed, 5 Nov 2014 16:54:50 +0530 Subject: Start MountService before performBootDexOpt This change is to start Mountservice before starting performBootDexOpt, as in one case, in performBootDexOpt when system upgrade happens, StorageManager will be started to get the low threshold of DataDir. But, at this point, as Mountservice is still not up, StorageManager will end up having a null object of Mountservice. Change-Id: I6dec474266faa5de67449c1bbe6ef30791e5ecaa --- services/java/com/android/server/SystemServer.java | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) (limited to 'services/java') diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 92ad1ad..22f6ca4 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -546,20 +546,6 @@ public final class SystemServer { reportWtf("making display ready", e); } - try { - mPackageManagerService.performBootDexOpt(); - } catch (Throwable e) { - reportWtf("performing boot dexopt", e); - } - - try { - ActivityManagerNative.getDefault().showBootMessage( - context.getResources().getText( - com.android.internal.R.string.android_upgrading_starting_apps), - false); - } catch (RemoteException e) { - } - if (mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL) { if (!disableStorage && !"0".equals(SystemProperties.get("system_init.startmountservice"))) { @@ -575,7 +561,23 @@ public final class SystemServer { reportWtf("starting Mount Service", e); } } + } + try { + mPackageManagerService.performBootDexOpt(); + } catch (Throwable e) { + reportWtf("performing boot dexopt", e); + } + + try { + ActivityManagerNative.getDefault().showBootMessage( + context.getResources().getText( + com.android.internal.R.string.android_upgrading_starting_apps), + false); + } catch (RemoteException e) { + } + + if (mFactoryTestMode != FactoryTest.FACTORY_TEST_LOW_LEVEL) { if (!disableNonCoreServices) { try { Slog.i(TAG, "LockSettingsService"); -- cgit v1.1