summaryrefslogtreecommitdiffstats
path: root/services/core
diff options
context:
space:
mode:
authorNicolas Prevot <nprevot@google.com>2014-08-18 18:50:41 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-08-16 04:29:45 +0000
commitf52233df74bb4a3efa1f7b9107353c841eafc933 (patch)
tree60eaa39880c1f8105962cf6f7bc4934931cb7880 /services/core
parent3c50bf00a6cb767eaf0100150a4070a554054008 (diff)
parent376e4ba96222163be1f1cf409dc697550be4a285 (diff)
downloadframeworks_base-f52233df74bb4a3efa1f7b9107353c841eafc933.zip
frameworks_base-f52233df74bb4a3efa1f7b9107353c841eafc933.tar.gz
frameworks_base-f52233df74bb4a3efa1f7b9107353c841eafc933.tar.bz2
Merge "When forwarding intents, ignoring the package set in the intent." into lmp-dev
Diffstat (limited to 'services/core')
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java24
1 files changed, 11 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index c1f7e85..b62c304 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -3204,24 +3204,22 @@ public class PackageManagerService extends IPackageManager.Stub {
if (matches.get(i).getTargetUserId() == targetUserId) return true;
}
}
-
ArrayList<String> packageNames = null;
SparseArray<ArrayList<String>> fromSource =
mSettings.mCrossProfilePackageInfo.get(sourceUserId);
if (fromSource != null) {
packageNames = fromSource.get(targetUserId);
- }
- if (packageNames != null && packageNames.contains(intent.getPackage())) {
- return true;
- }
- // We need the package name, so we try to resolve with the loosest flags possible
- List<ResolveInfo> resolveInfos = mActivities.queryIntent(
- intent, resolvedType, PackageManager.GET_UNINSTALLED_PACKAGES, targetUserId);
- int count = resolveInfos.size();
- for (int i = 0; i < count; i++) {
- ResolveInfo resolveInfo = resolveInfos.get(i);
- if (packageNames.contains(resolveInfo.activityInfo.packageName)) {
- return true;
+ if (packageNames != null) {
+ // We need the package name, so we try to resolve with the loosest flags possible
+ List<ResolveInfo> resolveInfos = mActivities.queryIntent(intent, resolvedType,
+ PackageManager.GET_UNINSTALLED_PACKAGES, targetUserId);
+ int count = resolveInfos.size();
+ for (int i = 0; i < count; i++) {
+ ResolveInfo resolveInfo = resolveInfos.get(i);
+ if (packageNames.contains(resolveInfo.activityInfo.packageName)) {
+ return true;
+ }
+ }
}
}
return false;