From 52dede83f1b65a4dceaaa289ac2683747791cf10 Mon Sep 17 00:00:00 2001 From: Pinyao Ting Date: Wed, 2 Sep 2020 17:46:27 -0700 Subject: [PATCH] Refrain from overwriting shortcut icon with default icon Invert the condition check in IconCache so that, if a shortcut is already using a non-default icon, do not replace it with default icon again. Bug: 162783875 Test: add weather shortcut, backup, restore, verify its icon is not replaced by default droid icon Change-Id: Idaf4ce4afa84d21f7192a2f4ce41a6f8daa8d3f2 (cherry picked from commit 61e8ae1d9d1610c21782743f188057b756c6f2bf) --- src/com/android/launcher3/icons/IconCache.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/com/android/launcher3/icons/IconCache.java b/src/com/android/launcher3/icons/IconCache.java index ff0f773468..a20bec2988 100644 --- a/src/com/android/launcher3/icons/IconCache.java +++ b/src/com/android/launcher3/icons/IconCache.java @@ -67,8 +67,8 @@ public class IconCache extends BaseIconCache { private static final String TAG = "Launcher.IconCache"; - private final Predicate mIsUsingFallbackIconCheck = w -> w.bitmap != null - && w.bitmap.isNullOrLowRes() && !isDefaultIcon(w.bitmap, w.user); + private final Predicate mIsUsingFallbackOrNonDefaultIconCheck = w -> + w.bitmap != null && (w.bitmap.isNullOrLowRes() || !isDefaultIcon(w.bitmap, w.user)); private final CachingLogic mComponentWithLabelCachingLogic; private final CachingLogic mLauncherActivityInfoCachingLogic; @@ -192,14 +192,14 @@ public class IconCache extends BaseIconCache { * Fill in {@param info} with the icon for {@param si} */ public void getShortcutIcon(ItemInfoWithIcon info, ShortcutInfo si) { - getShortcutIcon(info, si, true, mIsUsingFallbackIconCheck); + getShortcutIcon(info, si, true, mIsUsingFallbackOrNonDefaultIconCheck); } /** * Fill in {@param info} with an unbadged icon for {@param si} */ public void getUnbadgedShortcutIcon(ItemInfoWithIcon info, ShortcutInfo si) { - getShortcutIcon(info, si, false, mIsUsingFallbackIconCheck); + getShortcutIcon(info, si, false, mIsUsingFallbackOrNonDefaultIconCheck); } /**