diff options
author | Xin Li <delphij@google.com> | 2022-02-07 23:01:48 -0800 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2022-02-07 23:19:32 -0800 |
commit | eb00140a5904aa0ee75c095f330307b1ba66e2b3 (patch) | |
tree | eda15d19b495cea7f0ac69b7eb59ccb4ad2babe4 | |
parent | 2a2dba1bcff8f599318ad587383e6e1139a1ae57 (diff) | |
parent | 353e76edfa2ef8e492bbff51dec60f5a3f19d2c4 (diff) | |
download | ManagedProvisioning-android-s-qpr3-beta-1.tar.gz |
Merge SQ1A.220205.002android-t-preview-2android-t-preview-1android-t-beta-3android-s-v2-beta-3android-s-qpr3-beta-1android-t-preview-1android-s-v2-beta-3android-s-qpr3-beta-1
Bug: 213904741
Merged-In: I716b4aded965af7730860804646317eae7321d7b
Change-Id: Icb300305fbacaf04ef421c4073a43e7a00bbeb56
-rw-r--r-- | src/com/android/managedprovisioning/task/UpdateInteractAcrossProfilesAppOpTask.java | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/com/android/managedprovisioning/task/UpdateInteractAcrossProfilesAppOpTask.java b/src/com/android/managedprovisioning/task/UpdateInteractAcrossProfilesAppOpTask.java index b3218fde5..18993ab8e 100644 --- a/src/com/android/managedprovisioning/task/UpdateInteractAcrossProfilesAppOpTask.java +++ b/src/com/android/managedprovisioning/task/UpdateInteractAcrossProfilesAppOpTask.java @@ -48,6 +48,7 @@ public class UpdateInteractAcrossProfilesAppOpTask extends AbstractProvisioningT private final DevicePolicyManager mDevicePolicyManager; private final AppOpsManager mAppOpsManager; private final PackageManager mPackageManager; + private final UserManager mUserManager; public UpdateInteractAcrossProfilesAppOpTask(Context context, ProvisioningParams provisioningParams, @@ -59,6 +60,7 @@ public class UpdateInteractAcrossProfilesAppOpTask extends AbstractProvisioningT mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class); mAppOpsManager = context.getSystemService(AppOpsManager.class); mPackageManager = context.getPackageManager(); + mUserManager = context.getSystemService(UserManager.class); } @Override @@ -133,10 +135,20 @@ public class UpdateInteractAcrossProfilesAppOpTask extends AbstractProvisioningT private Set<ApplicationInfo> getAllInstalledApps() { final Set<ApplicationInfo> apps = new HashSet<>(); - List<UserHandle> profiles = mContext.getSystemService(UserManager.class).getAllProfiles(); + List<UserHandle> profiles = mUserManager.getAllProfiles(); for (UserHandle profile : profiles) { - apps.addAll(mContext.createContextAsUser(profile, /* flags= */ 0).getPackageManager() - .getInstalledApplications(/* flags= */ 0)); + if (profile.getIdentifier() != mContext.getUserId() + && !mUserManager.isManagedProfile(profile.getIdentifier())) { + continue; + } + try { + apps.addAll( + mContext.createPackageContextAsUser( + /* packageName= */ "android", /* flags= */ 0, profile) + .getPackageManager().getInstalledApplications(/* flags= */ 0)); + } catch (PackageManager.NameNotFoundException ignored) { + // Should never happen. + } } return apps; } |