summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2013-03-20 14:55:48 -0700
committernicolasroard <nicolasroard@google.com>2013-03-20 19:34:06 -0700
commit58cce37b5f4bcf1708fbcacebd431eb0984d0947 (patch)
treecf177ffdd410ce443928efc3f9a9aa16ac1ee5f5 /src/com/android/gallery3d
parente568c8e08b317f1b8bc4c041e5fb0224f68f9e7f (diff)
downloadandroid_packages_apps_Snap-58cce37b5f4bcf1708fbcacebd431eb0984d0947.tar.gz
android_packages_apps_Snap-58cce37b5f4bcf1708fbcacebd431eb0984d0947.tar.bz2
android_packages_apps_Snap-58cce37b5f4bcf1708fbcacebd431eb0984d0947.zip
Fix crashes with RS filters
bug:8418537 Change-Id: I37f8ad8a77f04faed9f721122872f00f7aaaa365
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r--src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
index c20502290..c45036012 100644
--- a/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
+++ b/src/com/android/gallery3d/filtershow/presets/FilterEnvironment.java
@@ -17,6 +17,7 @@
package com.android.gallery3d.filtershow.presets;
import android.graphics.Bitmap;
+import com.android.gallery3d.filtershow.cache.CachingPipeline;
import com.android.gallery3d.filtershow.filters.FilterRepresentation;
import com.android.gallery3d.filtershow.filters.FiltersManager;
import com.android.gallery3d.filtershow.filters.ImageFilter;
@@ -26,6 +27,7 @@ public class FilterEnvironment {
private float mScaleFactor;
private int mQuality;
private FiltersManager mFiltersManager;
+ private CachingPipeline mCachingPipeline;
public void setImagePreset(ImagePreset imagePreset) {
mImagePreset = imagePreset;
@@ -62,7 +64,17 @@ public class FilterEnvironment {
public Bitmap applyRepresentation(FilterRepresentation representation, Bitmap bitmap) {
ImageFilter filter = mFiltersManager.getFilterForRepresentation(representation);
filter.useRepresentation(representation);
- filter.setImagePreset(mImagePreset);
- return filter.apply(bitmap, mScaleFactor, mQuality);
+ filter.setEnvironment(this);
+ Bitmap ret = filter.apply(bitmap, mScaleFactor, mQuality);
+ filter.setEnvironment(null);
+ return ret;
+ }
+
+ public CachingPipeline getCachingPipeline() {
+ return mCachingPipeline;
+ }
+
+ public void setCachingPipeline(CachingPipeline cachingPipeline) {
+ mCachingPipeline = cachingPipeline;
}
}