Fixing issue where the holographic icons sometimes don't update (ie. after uninstalling an app).
Change-Id: I593d557e3f019a1a68e47ac6310c6cc476c0e37e
diff --git a/src/com/android/launcher2/PagedViewIcon.java b/src/com/android/launcher2/PagedViewIcon.java
index 9c5d126..bde6559 100644
--- a/src/com/android/launcher2/PagedViewIcon.java
+++ b/src/com/android/launcher2/PagedViewIcon.java
@@ -141,13 +141,15 @@
return mHolographicOutline;
}
- private void queueHolographicOutlineCreation() {
+ private boolean queueHolographicOutlineCreation() {
// Generate the outline in the background
if (mHolographicOutline == null) {
Message m = sWorker.obtainMessage(MESSAGE_CREATE_HOLOGRAPHIC_OUTLINE);
m.obj = this;
sWorker.sendMessage(m);
+ return true;
}
+ return false;
}
public void applyFromApplicationInfo(ApplicationInfo info, PagedViewIconCache cache,
@@ -161,7 +163,9 @@
mIconCache = cache;
mIconCacheKey = new PagedViewIconCache.Key(info);
mHolographicOutline = mIconCache.getOutline(mIconCacheKey);
- queueHolographicOutlineCreation();
+ if (!queueHolographicOutlineCreation()) {
+ getHolographicOutlineView().invalidate();
+ }
}
}
@@ -177,7 +181,9 @@
mIconCache = cache;
mIconCacheKey = new PagedViewIconCache.Key(info);
mHolographicOutline = mIconCache.getOutline(mIconCacheKey);
- queueHolographicOutlineCreation();
+ if (!queueHolographicOutlineCreation()) {
+ getHolographicOutlineView().invalidate();
+ }
}
}