diff options
| author | 2018-03-04 17:47:14 +0000 | |
|---|---|---|
| committer | 2018-03-04 17:47:14 +0000 | |
| commit | 48553062fa8147d2c943b8efff07ce1e87fb8a0e (patch) | |
| tree | 114bbe84fe11b0188272764519b73e4527991523 | |
| parent | 005e2bb74de07c42acdc95a840c8fac7ed14ed2d (diff) | |
| parent | 6ee51bb6d6ed587b0dcaf136ba299bcf075b4a13 (diff) | |
Merge "Fix crash with AppComponentFactory"
| -rw-r--r-- | core/java/android/app/LoadedApk.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index ea5932cd4ae4..fc7d9a553e31 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -219,7 +219,7 @@ public final class LoadedApk { } private AppComponentFactory createAppFactory(ApplicationInfo appInfo, ClassLoader cl) { - if (appInfo.appComponentFactory != null) { + if (appInfo.appComponentFactory != null && cl != null) { try { return (AppComponentFactory) cl.loadClass(appInfo.appComponentFactory) .newInstance(); @@ -613,6 +613,7 @@ public final class LoadedApk { } else { mClassLoader = ClassLoader.getSystemClassLoader(); } + mAppComponentFactory = createAppFactory(mApplicationInfo, mClassLoader); return; } @@ -687,6 +688,7 @@ public final class LoadedApk { librarySearchPath, libraryPermittedPath, mBaseClassLoader, null /* classLoaderName */); StrictMode.setThreadPolicy(oldPolicy); + mAppComponentFactory = createAppFactory(mApplicationInfo, mClassLoader); } return; @@ -714,6 +716,7 @@ public final class LoadedApk { mApplicationInfo.targetSdkVersion, isBundledApp, librarySearchPath, libraryPermittedPath, mBaseClassLoader, mApplicationInfo.classLoaderName); + mAppComponentFactory = createAppFactory(mApplicationInfo, mClassLoader); StrictMode.setThreadPolicy(oldPolicy); // Setup the class loader paths for profiling. |