From e384affda684a48c61d99ebfe8be40fb7d46d761 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Fri, 9 Mar 2012 15:59:25 -0800 Subject: [PATCH] Fix case where shortcut label wasn't updating When installing an updated version of an app, update the title (we were previously only doing the icon). Bug: 6069921 --- src/com/android/launcher2/ShortcutInfo.java | 8 ++++++-- src/com/android/launcher2/Workspace.java | 12 ++++++------ 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/com/android/launcher2/ShortcutInfo.java b/src/com/android/launcher2/ShortcutInfo.java index c0f80aeec6..ff3028beb0 100644 --- a/src/com/android/launcher2/ShortcutInfo.java +++ b/src/com/android/launcher2/ShortcutInfo.java @@ -93,12 +93,16 @@ class ShortcutInfo extends ItemInfo { public Bitmap getIcon(IconCache iconCache) { if (mIcon == null) { - mIcon = iconCache.getIcon(this.intent); - this.usingFallbackIcon = iconCache.isDefaultIcon(mIcon); + updateIcon(iconCache); } return mIcon; } + public void updateIcon(IconCache iconCache) { + mIcon = iconCache.getIcon(intent); + usingFallbackIcon = iconCache.isDefaultIcon(mIcon); + } + /** * Creates the application intent based on a component name and various launch flags. * Sets {@link #itemType} to {@link LauncherSettings.BaseLauncherColumns#ITEM_TYPE_APPLICATION}. diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index b7fdfe8bb0..4e9b955cee 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -3483,7 +3483,7 @@ public class Workspace extends SmoothPagedView final View view = layout.getChildAt(j); Object tag = view.getTag(); if (tag instanceof ShortcutInfo) { - ShortcutInfo info = (ShortcutInfo)tag; + ShortcutInfo info = (ShortcutInfo) tag; // We need to check for ACTION_MAIN otherwise getComponent() might // return null for some shortcuts (for instance, for shortcuts to // web pages.) @@ -3495,11 +3495,11 @@ public class Workspace extends SmoothPagedView for (int k = 0; k < appCount; k++) { ApplicationInfo app = apps.get(k); if (app.componentName.equals(name)) { - info.setIcon(mIconCache.getIcon(info.intent)); - ((TextView)view).setCompoundDrawablesWithIntrinsicBounds(null, - new FastBitmapDrawable(info.getIcon(mIconCache)), - null, null); - } + BubbleTextView shortcut = (BubbleTextView) view; + info.updateIcon(mIconCache); + info.title = app.title.toString(); + shortcut.applyFromShortcutInfo(info, mIconCache); + } } } }