diff options
author | nicolasroard <nicolasroard@google.com> | 2013-08-02 11:35:32 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-08-02 11:35:32 -0700 |
commit | 08a7c5ee848874759f28be0b5998269e5a32293c (patch) | |
tree | 05f48f3019f18787f133c4b3314e1b7f84be2f33 /src/com/android/gallery3d | |
parent | 8f0065ba9aefe1c6b53c941b6d2438b7b9cb2c66 (diff) | |
download | android_packages_apps_Snap-08a7c5ee848874759f28be0b5998269e5a32293c.tar.gz android_packages_apps_Snap-08a7c5ee848874759f28be0b5998269e5a32293c.tar.bz2 android_packages_apps_Snap-08a7c5ee848874759f28be0b5998269e5a32293c.zip |
Fix display bug with highres
Change-Id: I8961beca6bf80efdf3cf1c3b6cae691dd0f473ed
Diffstat (limited to 'src/com/android/gallery3d')
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java | 24 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/HighresRenderingRequestTask.java | 2 |
2 files changed, 25 insertions, 1 deletions
diff --git a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java index 155ddaa19..fc0d6ce49 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java +++ b/src/com/android/gallery3d/filtershow/pipeline/CachingPipeline.java @@ -202,6 +202,30 @@ public class CachingPipeline implements PipelineInterface { return true; } + public void renderHighres(RenderingRequest request) { + synchronized (CachingPipeline.class) { + if (getRenderScriptContext() == null) { + return; + } + ImagePreset preset = request.getImagePreset(); + setupEnvironment(preset, false); + Bitmap bitmap = MasterImage.getImage().getOriginalBitmapHighres(); + if (bitmap == null) { + return; + } + // TODO: use a cache of bitmaps + bitmap = bitmap.copy(Bitmap.Config.ARGB_8888, true); + bitmap = preset.applyGeometry(bitmap, mEnvironment); + + mEnvironment.setQuality(FilterEnvironment.QUALITY_PREVIEW); + Bitmap bmp = preset.apply(bitmap, mEnvironment); + if (!mEnvironment.needsStop()) { + request.setBitmap(bmp); + } + mFiltersManager.freeFilterResources(preset); + } + } + public synchronized void render(RenderingRequest request) { synchronized (CachingPipeline.class) { if (getRenderScriptContext() == null) { diff --git a/src/com/android/gallery3d/filtershow/pipeline/HighresRenderingRequestTask.java b/src/com/android/gallery3d/filtershow/pipeline/HighresRenderingRequestTask.java index af9f79ce3..5a0eb4d45 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/HighresRenderingRequestTask.java +++ b/src/com/android/gallery3d/filtershow/pipeline/HighresRenderingRequestTask.java @@ -70,7 +70,7 @@ public class HighresRenderingRequestTask extends ProcessingTask { public Result doInBackground(Request message) { RenderingRequest request = ((Render) message).request; RenderResult result = null; - mHighresPreviewPipeline.render(request); + mHighresPreviewPipeline.renderHighres(request); result = new RenderResult(); result.request = request; return result; |