diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 093cdbc58019..cb8ae49d61fa 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -6474,18 +6474,22 @@ public class PackageManagerService extends IPackageManager.Stub } } else { final PackageParser.Package pkg = mPackages.get(pkgName); + result = null; if (pkg != null) { - return applyPostResolutionFilter(filterIfNotSystemUser( + result = filterIfNotSystemUser( mActivities.queryIntentForPackage( intent, resolvedType, flags, pkg.activities, userId), - userId), instantAppPkgName); - } else { + userId); + } + if (result == null || result.size() == 0) { // the caller wants to resolve for a particular package; however, there // were no installed results, so, try to find an ephemeral result addEphemeral = !ephemeralDisabled && isInstantAppAllowed( intent, null /*result*/, userId, true /*skipPackageCheck*/); - result = new ArrayList<ResolveInfo>(); + if (result == null) { + result = new ArrayList<>(); + } } } } |