diff options
Diffstat (limited to 'src/com/android/gallery3d/filtershow/cache')
-rw-r--r-- | src/com/android/gallery3d/filtershow/cache/FilteringPipeline.java | 11 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/cache/ImageLoader.java | 10 |
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(); |