From e34a75dfd09d6e9d3740e03a763469ff17337d16 Mon Sep 17 00:00:00 2001 From: Patrick Baumann Date: Tue, 30 Apr 2019 11:18:04 -0700 Subject: Avoid unnecessary badging This change attempts to fetch the unbadged icon from ApplicationInfo for a given PackageInfo before falling back to the default (badged) icon. Test: manual; verify that TestDPC is only badged once when viewing device admins Fixes: 112254944 Change-Id: I55026af543ff71ac0d947159bc6aeb3b33f31271 --- core/java/android/app/ApplicationPackageManager.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 82a34ceea8b9..1ad0cfd6e13f 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -2764,6 +2764,9 @@ public class ApplicationPackageManager extends PackageManager { if (itemInfo.packageName != null) { dr = getDrawable(itemInfo.packageName, itemInfo.icon, appInfo); } + if (dr == null && itemInfo != appInfo) { + dr = loadUnbadgedItemIcon(appInfo, appInfo); + } if (dr == null) { dr = itemInfo.loadDefaultIcon(this); } -- cgit v1.2.3-59-g8ed1b