diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 66e6f5e91500..815d871288ad 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -8526,8 +8526,10 @@ public class PackageManagerService extends IPackageManager.Stub if (HIDE_EPHEMERAL_APIS || isEphemeralDisabled()) { return null; } - mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_INSTANT_APPS, - "getEphemeralApplications"); + if (!canViewInstantApps(Binder.getCallingUid(), userId)) { + mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_INSTANT_APPS, + "getEphemeralApplications"); + } enforceCrossUserPermission(Binder.getCallingUid(), userId, true /* requireFullPermission */, false /* checkShell */, "getEphemeralApplications"); @@ -8612,9 +8614,10 @@ public class PackageManagerService extends IPackageManager.Stub return null; } - mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_INSTANT_APPS, - "getInstantAppIcon"); - + if (!canViewInstantApps(Binder.getCallingUid(), userId)) { + mContext.enforceCallingOrSelfPermission(Manifest.permission.ACCESS_INSTANT_APPS, + "getInstantAppIcon"); + } enforceCrossUserPermission(Binder.getCallingUid(), userId, true /* requireFullPermission */, false /* checkShell */, "getInstantAppIcon"); |