diff options
author | Nicolas Prevot <nprevot@google.com> | 2015-10-22 14:55:26 +0100 |
---|---|---|
committer | Nicolas Prevot <nprevot@google.com> | 2015-10-22 18:16:39 +0100 |
commit | ff91ef8ed1156e29af212417c290c295eb7e0320 (patch) | |
tree | b49f20e04e6572b17fdc77dc5c9d8fcf08fe46c0 /services | |
parent | 9582e151964be60457d4abd712857fb1e8a4586d (diff) | |
download | frameworks_base-ff91ef8ed1156e29af212417c290c295eb7e0320.zip frameworks_base-ff91ef8ed1156e29af212417c290c295eb7e0320.tar.gz frameworks_base-ff91ef8ed1156e29af212417c290c295eb7e0320.tar.bz2 |
Don't resolve cross-profile app links without intent picker.
If ALLOW_CROSS_PROFILE_APP_LINKING has been set:
If there is an app with status always across profiles, and some
apps without status always in the current profile: show an intent
picker instead of directly resolving across profiles.
BUG:25109215
Change-Id: I74a67d231284ce912121ea0818109fbf904183e8
Diffstat (limited to 'services')
-rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 6bf3001..61e5acc 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -4772,18 +4772,13 @@ public class PackageManagerService extends IPackageManager.Stub { // First try to add the "always" resolution(s) for the current user, if any if (alwaysList.size() > 0) { result.addAll(alwaysList); - // if there is an "always" for the parent user, add it. - } else if (xpDomainInfo != null && xpDomainInfo.bestDomainVerificationStatus - == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS) { - result.add(xpDomainInfo.resolveInfo); } else { // Add all undefined apps as we want them to appear in the disambiguation dialog. result.addAll(undefinedList); + // Maybe add one for the other profile. if (xpDomainInfo != null && ( xpDomainInfo.bestDomainVerificationStatus - == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED - || xpDomainInfo.bestDomainVerificationStatus - == INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK)) { + != INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER)) { result.add(xpDomainInfo.resolveInfo); } includeBrowser = true; |