diff options
| author | 2023-08-21 20:45:02 +0000 | |
|---|---|---|
| committer | 2023-08-21 20:51:12 +0000 | |
| commit | ba63ae53aa814ce57111c0a2e8ae80e3f641fc3a (patch) | |
| tree | bc65b2357663466d2ae51cdde490827e0da3a1bb | |
| parent | 528aed6925f50d9ceefc70b55b442dc50456a81d (diff) | |
Fix default filtration.
Bug: 269127435
Test: adb shell device_config put package_manager_service com.android.server.pm.quarantined_enabled true && atest PackageManagerTest
Test: adb shell device_config put package_manager_service com.android.server.pm.quarantined_enabled false && atest PackageManagerTest
Change-Id: I436e9e2db1ff1214ed87a543e082a7b9226cd4be
| -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 */); |