Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02708b1a authored by Jeremie GARCIA's avatar Jeremie GARCIA Committed by Todd Kennedy
Browse files

Parse "vendor/priv-app" to find privileged applications



Change-Id: Icbbafba96b7880f51ca3afcee53d5f3dd5b86a45
Signed-off-by: default avatarJeremie GARCIA <jeremie.garcia@intel.com>
Signed-off-by: default avatarZhiquan Liu <zhiquan.liu@intel.com>
Bug: 29488499
parent bd04ec31
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -2446,8 +2446,14 @@ public class PackageManagerService extends IPackageManager.Stub {
                    | PackageParser.PARSE_IS_SYSTEM
                    | PackageParser.PARSE_IS_SYSTEM
                    | PackageParser.PARSE_IS_SYSTEM_DIR, scanFlags, 0);
                    | 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.
            // Collect all vendor packages.
            File vendorAppDir = new File("/vendor/app");
            File vendorAppDir = new File(Environment.getVendorDirectory(), "app");
            try {
            try {
                vendorAppDir = vendorAppDir.getCanonicalFile();
                vendorAppDir = vendorAppDir.getCanonicalFile();
            } catch (IOException e) {
            } catch (IOException e) {
@@ -15814,7 +15820,10 @@ public class PackageManagerService extends IPackageManager.Stub {
        try {
        try {
            final String privilegedAppDir = new File(Environment.getRootDirectory(), "priv-app")
            final String privilegedAppDir = new File(Environment.getRootDirectory(), "priv-app")
                    .getCanonicalPath();
                    .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) {
        } catch (IOException e) {
            Slog.e(TAG, "Unable to access code path " + path);
            Slog.e(TAG, "Unable to access code path " + path);
        }
        }