From 1586b9c33ed8429b8dbbe15ce3316a2d1a73977a Mon Sep 17 00:00:00 2001 From: padarshr Date: Wed, 5 Nov 2014 16:54:50 +0530 Subject: [PATCH] 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: If2b5e1b58e7d2a72c6313f196e98a68738295ec6 --- .../java/com/android/server/SystemServer.java | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 92ad1ad742ba7..22f6ca468c563 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");