diff options
| author | 2017-02-23 23:36:40 +0000 | |
|---|---|---|
| committer | 2017-02-23 23:36:40 +0000 | |
| commit | cbca6aa2f1df36a63a11cfc24b03d36068778fe1 (patch) | |
| tree | c5a60a54c9b50ebdfd0a27be2618f5901e35ed94 | |
| parent | 44f443095387deaa309f2af54362fc8ffac4f642 (diff) | |
| parent | 029170ee2b03f229a1d910b80fd658b6375c4186 (diff) | |
Merge "Add isBundled argument to LoadedApk.makePaths call" am: 0743d56e2b
am: 029170ee2b
Change-Id: Ia566854612ea9c9570fb8d7b6adc1a0e1e074d02
| -rw-r--r-- | core/java/android/app/LoadedApk.java | 20 | ||||
| -rw-r--r-- | core/java/android/webkit/WebViewZygote.java | 2 |
2 files changed, 16 insertions, 6 deletions
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index afe9651d82f5..e00a7f0e4ab9 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -266,7 +266,7 @@ public final class LoadedApk { setApplicationInfo(aInfo); final List<String> newPaths = new ArrayList<>(); - makePaths(mActivityThread, aInfo, newPaths, null /*libPaths*/); + makePaths(mActivityThread, aInfo, newPaths); final List<String> addedPaths = new ArrayList<>(newPaths.size()); if (oldPaths != null) { @@ -314,8 +314,17 @@ public final class LoadedApk { mCredentialProtectedDataDirFile = FileUtils.newFileOrNull(aInfo.credentialProtectedDataDir); } - public static void makePaths(ActivityThread activityThread, ApplicationInfo aInfo, - List<String> outZipPaths, List<String> outLibPaths) { + public static void makePaths(ActivityThread activityThread, + ApplicationInfo aInfo, + List<String> outZipPaths) { + makePaths(activityThread, false, aInfo, outZipPaths, null); + } + + public static void makePaths(ActivityThread activityThread, + boolean isBundledApp, + ApplicationInfo aInfo, + List<String> outZipPaths, + List<String> outLibPaths) { final String appDir = aInfo.sourceDir; final String[] splitAppDirs = aInfo.splitSourceDirs; final String libDir = aInfo.nativeLibraryDir; @@ -398,7 +407,7 @@ public final class LoadedApk { } } - if (aInfo.isSystemApp() && !aInfo.isUpdatedSystemApp()) { + if (isBundledApp) { // Add path to system libraries to libPaths; // Access to system libs should be limited // to bundled applications; this is why updated @@ -471,11 +480,12 @@ public final class LoadedApk { // space and initialize to a small value (instead of incurring growth code). final List<String> zipPaths = new ArrayList<>(10); final List<String> libPaths = new ArrayList<>(10); - makePaths(mActivityThread, mApplicationInfo, zipPaths, libPaths); final boolean isBundledApp = mApplicationInfo.isSystemApp() && !mApplicationInfo.isUpdatedSystemApp(); + makePaths(mActivityThread, isBundledApp, mApplicationInfo, zipPaths, libPaths); + String libraryPermittedPath = mDataDir; if (isBundledApp) { // This is necessary to grant bundled apps access to diff --git a/core/java/android/webkit/WebViewZygote.java b/core/java/android/webkit/WebViewZygote.java index 2d6f44352ba7..f9d733201e59 100644 --- a/core/java/android/webkit/WebViewZygote.java +++ b/core/java/android/webkit/WebViewZygote.java @@ -176,7 +176,7 @@ public class WebViewZygote { // paths and pass them to the zygote as strings. final List<String> zipPaths = new ArrayList<>(10); final List<String> libPaths = new ArrayList<>(10); - LoadedApk.makePaths(null, sPackage.applicationInfo, zipPaths, libPaths); + LoadedApk.makePaths(null, false, sPackage.applicationInfo, zipPaths, libPaths); final String librarySearchPath = TextUtils.join(File.pathSeparator, libPaths); final String zip = (zipPaths.size() == 1) ? zipPaths.get(0) : TextUtils.join(File.pathSeparator, zipPaths); |