diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/ResolveIntentHelper.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/ResolveIntentHelper.java b/services/core/java/com/android/server/pm/ResolveIntentHelper.java index 7ed10a4df1db..160b2aa05c18 100644 --- a/services/core/java/com/android/server/pm/ResolveIntentHelper.java +++ b/services/core/java/com/android/server/pm/ResolveIntentHelper.java @@ -516,6 +516,13 @@ final class ResolveIntentHelper { @PackageManager.ResolveInfoFlagsBits long flags, int userId) { if (!mUserManager.exists(userId)) return Collections.emptyList(); final int callingUid = Binder.getCallingUid(); + + // Only if the service query is coming from the system process, + // it should be allowed to match quarantined components + if (callingUid != Process.SYSTEM_UID) { + flags |= PackageManager.FILTER_OUT_QUARANTINED_COMPONENTS; + } + final String instantAppPkgName = computer.getInstantAppPackageName(callingUid); flags = computer.updateFlagsForResolve(flags, userId, callingUid, false /*includeInstantApps*/, false /* isImplicitImageCaptureIntentAndNotSetByDpc */); |