summaryrefslogtreecommitdiffstats
path: root/src/com/android/gallery3d/filtershow/cache
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache')
-rw-r--r--src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java11
-rw-r--r--src/com/android/gallery3d/filtershow/cache/ImageLoader.java10
2 files changed, 7 insertions, 14 deletions
diff --git a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
index 0af406316..7d5b52921 100644
--- a/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
+++ b/src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java
@@ -31,7 +31,7 @@ import com.android.gallery3d.filtershow.presets.ImagePreset;
public class FilteringPipeline implements Handler.Callback {
- private static FilteringPipeline sPipeline;
+ private final static FilteringPipeline gPipeline = new FilteringPipeline();
private static final String LOGTAG = "FilteringPipeline";
private ImagePreset mPreviousGeometryPreset = null;
private ImagePreset mPreviousFiltersPreset = null;
@@ -117,10 +117,7 @@ public class FilteringPipeline implements Handler.Callback {
}
public static FilteringPipeline getPipeline() {
- if (sPipeline == null) {
- sPipeline = new FilteringPipeline();
- }
- return sPipeline;
+ return gPipeline;
}
public synchronized void setOriginal(Bitmap bitmap) {
@@ -340,8 +337,4 @@ public class FilteringPipeline implements Handler.Callback {
public float getPreviewScaleFactor() {
return mPreviewScaleFactor;
}
-
- public static void reset() {
- sPipeline = null;
- }
}
diff --git a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
index a5b1bc5a4..25bb6b60a 100644
--- a/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
+++ b/src/com/android/gallery3d/filtershow/cache/ImageLoader.java
@@ -62,8 +62,6 @@ import java.io.OutputStream;
import java.util.Vector;
import java.util.concurrent.locks.ReentrantLock;
-
-// TODO: this class has waaaay to much bitmap copying. Cleanup.
public class ImageLoader {
private static final String LOGTAG = "ImageLoader";
@@ -391,13 +389,15 @@ public class ImageLoader {
}
bmp = loadRegionBitmap(mUri, options, bounds);
if (bmp != null) {
+ // TODO: this workaround for RS might not be needed ultimately
+ Bitmap bmp2 = bmp.copy(Bitmap.Config.ARGB_8888, true);
float scaleFactor = imagePreset.getScaleFactor();
imagePreset.setScaleFactor(1.0f);
- bmp = imagePreset.apply(bmp);
+ bmp2 = imagePreset.apply(bmp2);
imagePreset.setScaleFactor(scaleFactor);
- mZoomCache.setImage(imagePreset, bounds, bmp);
+ mZoomCache.setImage(imagePreset, bounds, bmp2);
mLoadingLock.unlock();
- return bmp;
+ return bmp2;
}
}
mLoadingLock.unlock();