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));