From ddc9c1fb1ab426772add520d277ea9c2cd674094 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Mon, 30 Aug 2010 18:30:15 -0700 Subject: DO NOT MERGE - Fix 2941495: Launcher short-cut icons don't work for apps on SD card after reboot Bug: 2941495 Change-Id: Ie8e0e0c62259f8cf933e53b7aa2dc28a835110ae --- src/com/android/launcher2/IconCache.java | 4 ++++ src/com/android/launcher2/LauncherModel.java | 2 +- src/com/android/launcher2/ShortcutInfo.java | 8 ++------ 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/com/android') diff --git a/src/com/android/launcher2/IconCache.java b/src/com/android/launcher2/IconCache.java index 4bb7d08..81a786c 100644 --- a/src/com/android/launcher2/IconCache.java +++ b/src/com/android/launcher2/IconCache.java @@ -124,6 +124,10 @@ public class IconCache { } } + public boolean isDefaultIcon(Bitmap icon) { + return mDefaultIcon == icon; + } + private CacheEntry cacheLocked(ComponentName componentName, ResolveInfo info) { CacheEntry entry = mCache.get(componentName); if (entry == null) { diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index 797bf68..1e363d1 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -1566,7 +1566,7 @@ public class LauncherModel extends BroadcastReceiver { // into the DB. We do this so when we're loading, if the // package manager can't find an icon (for example because // the app is on SD) then we can use that instead. - if (info.onExternalStorage && !info.customIcon && !info.usingFallbackIcon) { + if (!info.customIcon && !info.usingFallbackIcon) { boolean needSave; byte[] data = c.getBlob(iconIndex); try { diff --git a/src/com/android/launcher2/ShortcutInfo.java b/src/com/android/launcher2/ShortcutInfo.java index b0da3a5..72f2d51 100644 --- a/src/com/android/launcher2/ShortcutInfo.java +++ b/src/com/android/launcher2/ShortcutInfo.java @@ -52,11 +52,6 @@ class ShortcutInfo extends ItemInfo { boolean usingFallbackIcon; /** - * Indicates whether the shortcut is on external storage and may go away at any time. - */ - boolean onExternalStorage; - - /** * If isShortcut=true and customIcon=false, this contains a reference to the * shortcut icon as an application's resource. */ @@ -99,6 +94,7 @@ class ShortcutInfo extends ItemInfo { public Bitmap getIcon(IconCache iconCache) { if (mIcon == null) { mIcon = iconCache.getIcon(this.intent); + this.usingFallbackIcon = iconCache.isDefaultIcon(mIcon); } return mIcon; } @@ -133,7 +129,7 @@ class ShortcutInfo extends ItemInfo { LauncherSettings.BaseLauncherColumns.ICON_TYPE_BITMAP); writeBitmap(values, mIcon); } else { - if (onExternalStorage && !usingFallbackIcon) { + if (!usingFallbackIcon) { writeBitmap(values, mIcon); } values.put(LauncherSettings.BaseLauncherColumns.ICON_TYPE, -- cgit v1.1