From 9b6d51e688f11d9b0c75d1cef8761589a87b2cac Mon Sep 17 00:00:00 2001 From: Adam Bookatz Date: Tue, 31 Mar 2020 12:26:47 -0700 Subject: [PATCH] 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 --- core/java/android/app/ApplicationPackageManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index a1ec27b3e9f7c..f883b60b534f3 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -1610,7 +1610,10 @@ public class ApplicationPackageManager extends PackageManager { @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));