summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-08-15 11:37:30 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2013-08-15 11:37:30 -0700
commitd52be7fcec1a4b4cb482a4b9aab46b07c6024b22 (patch)
treec4d1f2b343490bed7ddb9d6002bbbc020e088905
parent0e01970e17cd7f5d7af3cc3329f770ce02f3382c (diff)
parent5659132a912c730671942dcb00de5a51299c45bf (diff)
downloadandroid_packages_apps_Gallery2-d52be7fcec1a4b4cb482a4b9aab46b07c6024b22.tar.gz
android_packages_apps_Gallery2-d52be7fcec1a4b4cb482a4b9aab46b07c6024b22.tar.bz2
android_packages_apps_Gallery2-d52be7fcec1a4b4cb482a4b9aab46b07c6024b22.zip
am 5659132a: am c2b09549: am f904939a: Fix draw cache issue
* commit '5659132a912c730671942dcb00de5a51299c45bf': Fix draw cache issue
-rw-r--r--src/com/android/gallery3d/filtershow/cache/BitmapCache.java15
-rw-r--r--src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java1
2 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/BitmapCache.java b/src/com/android/gallery3d/filtershow/cache/BitmapCache.java
index bd1130d26..26998783d 100644
--- a/src/com/android/gallery3d/filtershow/cache/BitmapCache.java
+++ b/src/com/android/gallery3d/filtershow/cache/BitmapCache.java
@@ -49,8 +49,21 @@ public class BitmapCache {
list = new ArrayList<WeakReference<Bitmap>>();
mBitmapCache.put(key, list);
}
+ int i = 0;
+ while (i < list.size()) {
+ if (list.get(i).get() == null) {
+ list.remove(i);
+ } else {
+ i++;
+ }
+ }
+ for (i = 0; i < list.size(); i++) {
+ if (list.get(i).get() == null) {
+ list.remove(i);
+ }
+ }
if (list.size() < mMaxItemsPerKey) {
- for (int i = 0; i < list.size(); i++) {
+ for (i = 0; i < list.size(); i++) {
WeakReference<Bitmap> ref = list.get(i);
if (ref.get() == bitmap) {
return; // bitmap already in the cache
diff --git a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java
index 0794277b0..0ff8bfbad 100644
--- a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java
+++ b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java
@@ -349,7 +349,6 @@ public class CachingPipeline implements PipelineInterface {
}
setupEnvironment(preset, false);
Vector<FilterRepresentation> filters = preset.getFilters();
- mEnvironment.cache(buffer.getProducer()); // the producer bitmap isn't needed anymore
Bitmap result = mCachedProcessing.process(mOriginalBitmap, filters, mEnvironment);
buffer.setProducer(result);
}