diff options
Diffstat (limited to 'src/com/android/launcher3/Workspace.java')
-rw-r--r-- | src/com/android/launcher3/Workspace.java | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index 774996e56..5951be63d 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -4800,6 +4800,28 @@ public class Workspace extends SmoothPagedView } } + + void updateShortcuts(ArrayList<ShortcutInfo> shortcuts) { + final HashSet<ShortcutInfo> updates = new HashSet<ShortcutInfo>(shortcuts); + mapOverItems(MAP_RECURSE, new ItemOperator() { + @Override + public boolean evaluate(ItemInfo info, View v, View parent) { + if (info instanceof ShortcutInfo && v instanceof BubbleTextView && + updates.contains(info)) { + ShortcutInfo shortcutInfo = (ShortcutInfo) info; + BubbleTextView shortcut = (BubbleTextView) v; + shortcut.applyFromShortcutInfo(shortcutInfo, mIconCache, true, false); + + if (parent != null) { + parent.invalidate(); + } + } + // process all the shortcuts + return false; + } + }); + } + void updateShortcutsAndWidgets(ArrayList<AppInfo> apps) { // Break the appinfo list per user final HashMap<UserHandleCompat, ArrayList<AppInfo>> appsPerUser = |