From c018d3893719a101699e6679927a8fa1a96802c9 Mon Sep 17 00:00:00 2001 From: Winson Chung Date: Mon, 14 Oct 2013 17:03:04 -0700 Subject: Flushing icons of the wrong size. (Bug 11203738) Change-Id: I9468d2e798fcf9890970270041d341e7653432f1 --- src/com/android/launcher3/IconCache.java | 14 ++++++++++++++ src/com/android/launcher3/Launcher.java | 1 + 2 files changed, 15 insertions(+) (limited to 'src/com/android') diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java index 179782653..2aab68bee 100644 --- a/src/com/android/launcher3/IconCache.java +++ b/src/com/android/launcher3/IconCache.java @@ -146,6 +146,20 @@ public class IconCache { } } + /** + * Empty out the cache that aren't of the correct grid size + */ + public void flushInvalidIcons(DeviceProfile grid) { + synchronized (mCache) { + for (ComponentName cn : mCache.keySet()) { + final CacheEntry e = mCache.get(cn); + if (e.icon.getWidth() != grid.iconSizePx || e.icon.getHeight() != grid.iconSizePx) { + mCache.remove(cn); + } + } + } + } + /** * Fill in "application" with the icon and label for "info." */ diff --git a/src/com/android/launcher3/Launcher.java b/src/com/android/launcher3/Launcher.java index ee13f2946..b0e49685d 100644 --- a/src/com/android/launcher3/Launcher.java +++ b/src/com/android/launcher3/Launcher.java @@ -402,6 +402,7 @@ public class Launcher extends Activity Context.MODE_PRIVATE); mModel = app.setLauncher(this); mIconCache = app.getIconCache(); + mIconCache.flushInvalidIcons(grid); mDragController = new DragController(this); mInflater = getLayoutInflater(); -- cgit v1.2.3