diff options
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 4 | ||||
-rw-r--r-- | src/com/android/launcher3/allapps/AllAppsContainerView.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher3/util/PackageUserKey.java | 14 |
3 files changed, 14 insertions, 7 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index d2008a6a6..981941892 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -3987,8 +3987,8 @@ public class Workspace extends PagedView mapOverItems(MAP_RECURSE, new ItemOperator() { @Override public boolean evaluate(ItemInfo info, View v) { - if (info instanceof ShortcutInfo && v instanceof BubbleTextView) { - packageUserKey.updateFromItemInfo(info); + if (info instanceof ShortcutInfo && v instanceof BubbleTextView + && packageUserKey.updateFromItemInfo(info)) { if (updatedBadges.contains(packageUserKey)) { ((BubbleTextView) v).applyBadgeState(info); } diff --git a/src/com/android/launcher3/allapps/AllAppsContainerView.java b/src/com/android/launcher3/allapps/AllAppsContainerView.java index ec1fa34d0..54d0bbe50 100644 --- a/src/com/android/launcher3/allapps/AllAppsContainerView.java +++ b/src/com/android/launcher3/allapps/AllAppsContainerView.java @@ -478,8 +478,7 @@ public class AllAppsContainerView extends BaseContainerView implements DragSourc public void updateIconBadges(Set<PackageUserKey> updatedBadges) { final PackageUserKey packageUserKey = new PackageUserKey(null, null); for (AlphabeticalAppsList.AdapterItem app : mApps.getAdapterItems()) { - if (app.appInfo != null) { - packageUserKey.updateFromItemInfo(app.appInfo); + if (app.appInfo != null && packageUserKey.updateFromItemInfo(app.appInfo)) { if (updatedBadges.contains(packageUserKey)) { mAdapter.notifyItemChanged(app.position); } diff --git a/src/com/android/launcher3/util/PackageUserKey.java b/src/com/android/launcher3/util/PackageUserKey.java index d08b0e931..3fb240117 100644 --- a/src/com/android/launcher3/util/PackageUserKey.java +++ b/src/com/android/launcher3/util/PackageUserKey.java @@ -4,6 +4,7 @@ import android.os.UserHandle; import android.service.notification.StatusBarNotification; import com.android.launcher3.ItemInfo; +import com.android.launcher3.shortcuts.DeepShortcutManager; import java.util.Arrays; @@ -32,9 +33,16 @@ public class PackageUserKey { mHashCode = Arrays.hashCode(new Object[] {packageName, user}); } - /** This should only be called to avoid new object creations in a loop. */ - public void updateFromItemInfo(ItemInfo info) { - update(info.getTargetComponent().getPackageName(), info.user); + /** + * This should only be called to avoid new object creations in a loop. + * @return Whether this PackageUserKey was successfully updated - it shouldn't be used if not. + */ + public boolean updateFromItemInfo(ItemInfo info) { + if (DeepShortcutManager.supportsShortcuts(info)) { + update(info.getTargetComponent().getPackageName(), info.user); + return true; + } + return false; } @Override |