diff options
author | Michael Jurka <mikejurka@google.com> | 2013-02-15 14:50:15 +0100 |
---|---|---|
committer | Michael Jurka <mikejurka@google.com> | 2013-02-15 14:50:15 +0100 |
commit | 5140cfaf471ed21c1cdcf0edcb53ae89b87c6848 (patch) | |
tree | eaff48bb63510a7791ce7282dc4873691a2053b6 /src/com/android/launcher2/WidgetPreviewLoader.java | |
parent | 4b503beb549d8151d80eca47e94560861edbf381 (diff) | |
download | android_packages_apps_Trebuchet-5140cfaf471ed21c1cdcf0edcb53ae89b87c6848.tar.gz android_packages_apps_Trebuchet-5140cfaf471ed21c1cdcf0edcb53ae89b87c6848.tar.bz2 android_packages_apps_Trebuchet-5140cfaf471ed21c1cdcf0edcb53ae89b87c6848.zip |
Fix rare NPE
Bug: 8191673
Diffstat (limited to 'src/com/android/launcher2/WidgetPreviewLoader.java')
-rw-r--r-- | src/com/android/launcher2/WidgetPreviewLoader.java | 8 |
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"); |