OSDN Git Service

Fix double-tap behaviour
authornicolasroard <nicolasroard@google.com>
Sat, 30 Mar 2013 19:56:20 +0000 (12:56 -0700)
committernicolasroard <nicolasroard@google.com>
Sat, 30 Mar 2013 19:56:20 +0000 (12:56 -0700)
Change-Id: I17282bce5af9d65b704e3853181ef3cbfde4992e

src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
src/com/android/gallery3d/filtershow/imageshow/MasterImage.java

index 8e7c3e1..3416ddf 100644 (file)
@@ -31,6 +31,7 @@ public class RenderingRequest {
     private ImagePreset mImagePreset = null;
     private ImagePreset mOriginalImagePreset = null;
     private RenderingRequestCaller mCaller = null;
+    private float mScaleFactor = 1.0f;
     private Rect mBounds = null;
     private Rect mDestination = null;
     private int mType = FULL_RENDERING;
@@ -70,6 +71,7 @@ public class RenderingRequest {
         ImagePreset passedPreset = new ImagePreset(preset);
         passedPreset.setImageLoader(MasterImage.getImage().getImageLoader());
         request.setOriginalImagePreset(preset);
+        request.setScaleFactor(MasterImage.getImage().getScaleFactor());
 
         if (type == PARTIAL_RENDERING) {
             request.setBounds(bounds);
@@ -139,6 +141,14 @@ public class RenderingRequest {
         mBounds = bounds;
     }
 
+    public void setScaleFactor(float scaleFactor) {
+        mScaleFactor = scaleFactor;
+    }
+
+    public float getScaleFactor() {
+        return mScaleFactor;
+    }
+
     public Rect getDestination() {
         return mDestination;
     }
index c4d5a06..94573bc 100644 (file)
@@ -397,7 +397,8 @@ public class MasterImage implements RenderingRequestCaller {
         if (request.getType() == RenderingRequest.FILTERS_RENDERING) {
             mFiltersOnlyBitmap = request.getBitmap();
         }
-        if (request.getType() == RenderingRequest.PARTIAL_RENDERING) {
+        if (request.getType() == RenderingRequest.PARTIAL_RENDERING
+                && request.getScaleFactor() == getScaleFactor()) {
             mPartialBitmap = request.getBitmap();
             notifyObservers();
         }