From 80b216d5c8e17e0358cf1508a1e177ccada8383f Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Wed, 28 Aug 2013 14:00:06 -0700 Subject: [PATCH] Fix empty screen on Svelte bug:10526507 Change-Id: I2506ae03a32e01ea62a25efa06acf1602147e78a --- src/com/android/gallery3d/filtershow/FilterShowActivity.java | 2 ++ src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java | 3 +++ .../android/gallery3d/filtershow/imageshow/ImageStraighten.java | 1 + src/com/android/gallery3d/filtershow/imageshow/MasterImage.java | 7 +++++++ 4 files changed, 13 insertions(+) diff --git a/src/com/android/gallery3d/filtershow/FilterShowActivity.java b/src/com/android/gallery3d/filtershow/FilterShowActivity.java index c7e9cc68d..f46a0b781 100644 --- a/src/com/android/gallery3d/filtershow/FilterShowActivity.java +++ b/src/com/android/gallery3d/filtershow/FilterShowActivity.java @@ -709,6 +709,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL / (float) MasterImage.getImage().getOriginalBounds().width(); mBoundService.setHighresPreviewScaleFactor(highResPreviewScale); } + MasterImage.getImage().warnListeners(); } } @@ -796,6 +797,7 @@ public class FilterShowActivity extends FragmentActivity implements OnItemClickL } LoadHighresBitmapTask highresLoad = new LoadHighresBitmapTask(); highresLoad.execute(); + MasterImage.getImage().warnListeners(); super.onPostExecute(result); } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java index 7fee03188..e027d01e8 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageCrop.java @@ -255,6 +255,9 @@ public class ImageCrop extends ImageShow { @Override public void onDraw(Canvas canvas) { Bitmap bitmap = MasterImage.getImage().getFiltersOnlyImage(); + if (bitmap == null) { + MasterImage.getImage().invalidateFiltersOnly(); + } if (!mValidDraw || bitmap == null) { return; } diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java index d7fea5f3b..a85f58de0 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java @@ -200,6 +200,7 @@ public class ImageStraighten extends ImageShow { MasterImage master = MasterImage.getImage(); Bitmap image = master.getFiltersOnlyImage(); if (image == null) { + MasterImage.getImage().invalidateFiltersOnly(); return; } GeometryMathUtils.initializeHolder(mDrawHolder, mLocalRep); diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java index 8d9d09e72..53ed0378e 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java +++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java @@ -137,6 +137,9 @@ public class MasterImage implements RenderingRequestCaller { } public Bitmap getOriginalBitmapHighres() { + if (mOriginalBitmapHighres == null) { + return mOriginalBitmapLarge; + } return mOriginalBitmapHighres; } @@ -345,6 +348,9 @@ public class MasterImage implements RenderingRequestCaller { } public Bitmap getHighresImage() { + if (mHighresBitmap == null) { + return getFilteredImage(); + } return mHighresBitmap; } @@ -489,6 +495,7 @@ public class MasterImage implements RenderingRequestCaller { public void invalidateFiltersOnly() { mFiltersOnlyPreset = null; + resetGeometryImages(false); invalidatePreview(); } -- 2.11.0