Fix double-tap behaviour
Change-Id: I17282bce5af9d65b704e3853181ef3cbfde4992e
diff --git a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
index 8e7c3e1..3416ddf 100644
--- a/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
+++ b/src/com/android/gallery3d/filtershow/cache/RenderingRequest.java
@@ -31,6 +31,7 @@
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 @@
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 @@
mBounds = bounds;
}
+ public void setScaleFactor(float scaleFactor) {
+ mScaleFactor = scaleFactor;
+ }
+
+ public float getScaleFactor() {
+ return mScaleFactor;
+ }
+
public Rect getDestination() {
return mDestination;
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
index c4d5a06..94573bc 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/MasterImage.java
@@ -397,7 +397,8 @@
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();
}