From 976b9a3a98f48ed69bbe66070e2e2e3f3e6aae43 Mon Sep 17 00:00:00 2001 From: nicolasroard Date: Fri, 11 Oct 2013 18:27:55 -0700 Subject: Fix showing the wrong image after animation bug:10856175 Change-Id: I87d2bcd1bb1a4ee28536a97f018b6a3cf409d1b8 --- .../gallery3d/filtershow/imageshow/ImageShow.java | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) (limited to 'src/com/android/gallery3d/filtershow/imageshow/ImageShow.java') diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java index 5fd971ac4..7089e6036 100644 --- a/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java +++ b/src/com/android/gallery3d/filtershow/imageshow/ImageShow.java @@ -366,8 +366,21 @@ public class ImageShow extends View implements OnGestureListener, m.mapRect(d); d.roundOut(mImageBounds); - if (master.onGoingNewLookAnimation()) { + boolean showAnimatedImage = master.onGoingNewLookAnimation(); + if (!showAnimatedImage && mDidStartAnimation) { + // animation ended, but do we have the correct image to show? + if (master.getPreset().equals(master.getCurrentPreset())) { + // we do, let's stop showing the animated image + mDidStartAnimation = false; + MasterImage.getImage().resetAnimBitmap(); + } else { + showAnimatedImage = true; + } + } else if (showAnimatedImage) { mDidStartAnimation = true; + } + + if (showAnimatedImage) { canvas.save(); // Animation uses the image before the change @@ -472,14 +485,6 @@ public class ImageShow extends View implements OnGestureListener, canvas.drawBitmap(image, m, mPaint); } - if (!master.onGoingNewLookAnimation() - && mDidStartAnimation - && !master.getPreviousPreset().equals(master.getCurrentPreset())) { - mDidStartAnimation = false; - MasterImage.getImage().resetAnimBitmap(); - invalidate(); - } - canvas.restore(); } -- cgit v1.2.3