From 4a84116d112f7467d73ff7ca4102dd26ea92d776 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: I6dec474266faa5de67449c1bbe6ef30791e5ecaa --- .../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 4e6a8eaa62d02..b3a696e82cc69 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -549,20 +549,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"))) { @@ -578,7 +564,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");