diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/ApplicationPackageManager.java | 11 | ||||
| -rw-r--r-- | core/java/android/content/pm/PackageItemInfo.java | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 685eedc31303..769fd487c2a9 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -2754,12 +2754,11 @@ public class ApplicationPackageManager extends PackageManager { public Drawable loadUnbadgedItemIcon(@NonNull PackageItemInfo itemInfo, @Nullable ApplicationInfo appInfo) { if (itemInfo.showUserIcon != UserHandle.USER_NULL) { - Bitmap bitmap = getUserManager().getUserIcon(itemInfo.showUserIcon); - if (bitmap == null) { - return UserIcons.getDefaultUserIcon( - mContext.getResources(), itemInfo.showUserIcon, /* light= */ false); - } - return new BitmapDrawable(bitmap); + // Indicates itemInfo is for a different user (e.g. a profile's parent), so use a + // generic user icon (users generally lack permission to view each other's actual icons) + int targetUserId = itemInfo.showUserIcon; + return UserIcons.getDefaultUserIcon( + mContext.getResources(), targetUserId, /* light= */ false); } Drawable dr = null; if (itemInfo.packageName != null) { diff --git a/core/java/android/content/pm/PackageItemInfo.java b/core/java/android/content/pm/PackageItemInfo.java index 081c5ad78762..d0ab8f713de8 100644 --- a/core/java/android/content/pm/PackageItemInfo.java +++ b/core/java/android/content/pm/PackageItemInfo.java @@ -159,7 +159,7 @@ public class PackageItemInfo { public Bundle metaData; /** - * If different of UserHandle.USER_NULL, The icon of this item will be the one of that user. + * If different of UserHandle.USER_NULL, The icon of this item will represent that user. * @hide */ public int showUserIcon; |
