Avoid getUserBadgeNoBackgroundResId if no badge
Checks whether there actually is a badge before
calling getUserBadgeNoBackgroundResId.
(Otherwise a logcat error would have been logged, since
it is only expected to be called if there is indeed
a badge.)
Test: manual confirmation that logcat error is gone
Bug: 142482943
Change-Id: I635529d9c114b399e5626bdbb143aab29ae81a4b
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index a1ec27b..f883b60 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1610,7 +1610,10 @@
@Override
public Drawable getUserBadgeForDensityNoBackground(UserHandle user, int density) {
- Drawable badge = getProfileIconForDensity(user,
+ if (!hasUserBadge(user.getIdentifier())) {
+ return null;
+ }
+ Drawable badge = getDrawableForDensity(
getUserManager().getUserBadgeNoBackgroundResId(user.getIdentifier()), density);
if (badge != null) {
badge.setTint(getUserBadgeColor(user));