Loading core/java/com/android/server/SystemConfig.java +6 −6 Original line number Diff line number Diff line Loading @@ -435,15 +435,15 @@ public class SystemConfig { } /** Get privapp permission allowlist for an apk-in-apex. */ public ArraySet<String> getApexPrivAppPermissions(String module, String packageName) { return mApexPrivAppPermissions.getOrDefault(module, EMPTY_PERMISSIONS) .get(packageName); public ArraySet<String> getApexPrivAppPermissions(String apexName, String apkPackageName) { return mApexPrivAppPermissions.getOrDefault(apexName, EMPTY_PERMISSIONS) .get(apkPackageName); } /** Get privapp permissions denylist for an apk-in-apex. */ public ArraySet<String> getApexPrivAppDenyPermissions(String module, String packageName) { return mApexPrivAppDenyPermissions.getOrDefault(module, EMPTY_PERMISSIONS) .get(packageName); public ArraySet<String> getApexPrivAppDenyPermissions(String apexName, String apkPackageName) { return mApexPrivAppDenyPermissions.getOrDefault(apexName, EMPTY_PERMISSIONS) .get(apkPackageName); } public ArraySet<String> getVendorPrivAppPermissions(String packageName) { Loading services/core/java/com/android/server/pm/PackageManagerShellCommand.java +6 −2 Original line number Diff line number Diff line Loading @@ -2540,8 +2540,10 @@ class PackageManagerShellCommand extends ShellCommand { privAppPermissions = SystemConfig.getInstance() .getSystemExtPrivAppPermissions(pkg); } else if (isApexApp(pkg)) { final String apexName = ApexManager.getInstance().getApexModuleNameForPackageName( getApexPackageNameContainingPackage(pkg)); privAppPermissions = SystemConfig.getInstance() .getApexPrivAppPermissions(getApexPackageNameContainingPackage(pkg), pkg); .getApexPrivAppPermissions(apexName, pkg); } else { privAppPermissions = SystemConfig.getInstance().getPrivAppPermissions(pkg); } Loading @@ -2567,8 +2569,10 @@ class PackageManagerShellCommand extends ShellCommand { privAppPermissions = SystemConfig.getInstance() .getSystemExtPrivAppDenyPermissions(pkg); } else if (isApexApp(pkg)) { final String apexName = ApexManager.getInstance().getApexModuleNameForPackageName( getApexPackageNameContainingPackage(pkg)); privAppPermissions = SystemConfig.getInstance() .getApexPrivAppDenyPermissions(getApexPackageNameContainingPackage(pkg), pkg); .getApexPrivAppDenyPermissions(apexName, pkg); } else { privAppPermissions = SystemConfig.getInstance().getPrivAppDenyPermissions(pkg); } Loading services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +4 −1 Original line number Diff line number Diff line Loading @@ -3291,10 +3291,13 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } else if (pkg.isSystemExt()) { permissions = systemConfig.getSystemExtPrivAppPermissions(pkg.getPackageName()); } else if (containingApexPackageName != null) { final ApexManager apexManager = ApexManager.getInstance(); final String apexName = apexManager.getApexModuleNameForPackageName( containingApexPackageName); final Set<String> privAppPermissions = systemConfig.getPrivAppPermissions( pkg.getPackageName()); final Set<String> apexPermissions = systemConfig.getApexPrivAppPermissions( containingApexPackageName, pkg.getPackageName()); apexName, pkg.getPackageName()); if (privAppPermissions != null) { // TODO(andreionea): Remove check as soon as all apk-in-apex // permission allowlists are migrated. Loading Loading
core/java/com/android/server/SystemConfig.java +6 −6 Original line number Diff line number Diff line Loading @@ -435,15 +435,15 @@ public class SystemConfig { } /** Get privapp permission allowlist for an apk-in-apex. */ public ArraySet<String> getApexPrivAppPermissions(String module, String packageName) { return mApexPrivAppPermissions.getOrDefault(module, EMPTY_PERMISSIONS) .get(packageName); public ArraySet<String> getApexPrivAppPermissions(String apexName, String apkPackageName) { return mApexPrivAppPermissions.getOrDefault(apexName, EMPTY_PERMISSIONS) .get(apkPackageName); } /** Get privapp permissions denylist for an apk-in-apex. */ public ArraySet<String> getApexPrivAppDenyPermissions(String module, String packageName) { return mApexPrivAppDenyPermissions.getOrDefault(module, EMPTY_PERMISSIONS) .get(packageName); public ArraySet<String> getApexPrivAppDenyPermissions(String apexName, String apkPackageName) { return mApexPrivAppDenyPermissions.getOrDefault(apexName, EMPTY_PERMISSIONS) .get(apkPackageName); } public ArraySet<String> getVendorPrivAppPermissions(String packageName) { Loading
services/core/java/com/android/server/pm/PackageManagerShellCommand.java +6 −2 Original line number Diff line number Diff line Loading @@ -2540,8 +2540,10 @@ class PackageManagerShellCommand extends ShellCommand { privAppPermissions = SystemConfig.getInstance() .getSystemExtPrivAppPermissions(pkg); } else if (isApexApp(pkg)) { final String apexName = ApexManager.getInstance().getApexModuleNameForPackageName( getApexPackageNameContainingPackage(pkg)); privAppPermissions = SystemConfig.getInstance() .getApexPrivAppPermissions(getApexPackageNameContainingPackage(pkg), pkg); .getApexPrivAppPermissions(apexName, pkg); } else { privAppPermissions = SystemConfig.getInstance().getPrivAppPermissions(pkg); } Loading @@ -2567,8 +2569,10 @@ class PackageManagerShellCommand extends ShellCommand { privAppPermissions = SystemConfig.getInstance() .getSystemExtPrivAppDenyPermissions(pkg); } else if (isApexApp(pkg)) { final String apexName = ApexManager.getInstance().getApexModuleNameForPackageName( getApexPackageNameContainingPackage(pkg)); privAppPermissions = SystemConfig.getInstance() .getApexPrivAppDenyPermissions(getApexPackageNameContainingPackage(pkg), pkg); .getApexPrivAppDenyPermissions(apexName, pkg); } else { privAppPermissions = SystemConfig.getInstance().getPrivAppDenyPermissions(pkg); } Loading
services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +4 −1 Original line number Diff line number Diff line Loading @@ -3291,10 +3291,13 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt } else if (pkg.isSystemExt()) { permissions = systemConfig.getSystemExtPrivAppPermissions(pkg.getPackageName()); } else if (containingApexPackageName != null) { final ApexManager apexManager = ApexManager.getInstance(); final String apexName = apexManager.getApexModuleNameForPackageName( containingApexPackageName); final Set<String> privAppPermissions = systemConfig.getPrivAppPermissions( pkg.getPackageName()); final Set<String> apexPermissions = systemConfig.getApexPrivAppPermissions( containingApexPackageName, pkg.getPackageName()); apexName, pkg.getPackageName()); if (privAppPermissions != null) { // TODO(andreionea): Remove check as soon as all apk-in-apex // permission allowlists are migrated. Loading