Merge "Parse "vendor/priv-app" to find privileged applications" into nyc-dev

This commit is contained in:
TreeHugger Robot
2016-06-21 02:56:36 +00:00
committed by Android (Google) Code Review

View File

@@ -2448,8 +2448,14 @@ public class PackageManagerService extends IPackageManager.Stub {
| PackageParser.PARSE_IS_SYSTEM
| PackageParser.PARSE_IS_SYSTEM_DIR, scanFlags, 0);
// Collected privileged vendor packages.
final File privilegedVendorAppDir = new File(Environment.getVendorDirectory(), "priv-app");
scanDirLI(privilegedVendorAppDir, PackageParser.PARSE_IS_SYSTEM
| PackageParser.PARSE_IS_SYSTEM_DIR
| PackageParser.PARSE_IS_PRIVILEGED, scanFlags, 0);
// Collect all vendor packages.
File vendorAppDir = new File("/vendor/app");
File vendorAppDir = new File(Environment.getVendorDirectory(), "app");
try {
vendorAppDir = vendorAppDir.getCanonicalFile();
} catch (IOException e) {
@@ -15813,7 +15819,10 @@ public class PackageManagerService extends IPackageManager.Stub {
try {
final String privilegedAppDir = new File(Environment.getRootDirectory(), "priv-app")
.getCanonicalPath();
return path.getCanonicalPath().startsWith(privilegedAppDir);
final String privilegedAppVendorDir = new File(Environment.getVendorDirectory(), "priv-app")
.getCanonicalPath();
return (path.getCanonicalPath().startsWith(privilegedAppDir)
|| path.getCanonicalPath().startsWith(privilegedAppVendorDir));
} catch (IOException e) {
Slog.e(TAG, "Unable to access code path " + path);
}