summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/WidgetPreviewLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher2/WidgetPreviewLoader.java')
-rw-r--r--src/com/android/launcher2/WidgetPreviewLoader.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/com/android/launcher2/WidgetPreviewLoader.java b/src/com/android/launcher2/WidgetPreviewLoader.java
index 7c72701f8..6c06e0fcc 100644
--- a/src/com/android/launcher2/WidgetPreviewLoader.java
+++ b/src/com/android/launcher2/WidgetPreviewLoader.java
@@ -236,13 +236,15 @@ public class WidgetPreviewLoader {
public void recycleBitmap(Object o, Bitmap bitmapToRecycle) {
String name = getObjectName(o);
- synchronized(mLoadedPreviews) {
- synchronized(mUnusedBitmaps) {
+ synchronized (mLoadedPreviews) {
+ if (mLoadedPreviews.containsKey(name)) {
Bitmap b = mLoadedPreviews.get(name).get();
if (b == bitmapToRecycle) {
mLoadedPreviews.remove(name);
if (bitmapToRecycle.isMutable()) {
- mUnusedBitmaps.add(new SoftReference<Bitmap>(b));
+ synchronized (mUnusedBitmaps) {
+ mUnusedBitmaps.add(new SoftReference<Bitmap>(b));
+ }
}
} else {
throw new RuntimeException("Bitmap passed in doesn't match up");