summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornicolasroard <nicolasroard@google.com>2012-10-03 14:30:11 -0700
committernicolasroard <nicolasroard@google.com>2012-10-03 14:32:57 -0700
commitb1de2584974b152a166e98d7f865945e4e911517 (patch)
tree01e20bfe939ce4ec0fbddbf32a48468d50a7c848
parent7325d6115b91be94e84503c578c5fe40a1ee99b4 (diff)
downloadandroid_packages_apps_Snap-b1de2584974b152a166e98d7f865945e4e911517.tar.gz
android_packages_apps_Snap-b1de2584974b152a166e98d7f865945e4e911517.tar.bz2
android_packages_apps_Snap-b1de2584974b152a166e98d7f865945e4e911517.zip
Fix ANR in image editor
bug:7275425 Change-Id: I01a89579e17a0e4fc0817b61c7fda48ca54d0afa
-rw-r--r--src/com/android/gallery3d/filtershow/filters/ImageFilterGradient.java5
-rw-r--r--src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java14
2 files changed, 9 insertions, 10 deletions
diff --git a/src/com/android/gallery3d/filtershow/filters/ImageFilterGradient.java b/src/com/android/gallery3d/filtershow/filters/ImageFilterGradient.java
index 4e46943fc..d27dd34b6 100644
--- a/src/com/android/gallery3d/filtershow/filters/ImageFilterGradient.java
+++ b/src/com/android/gallery3d/filtershow/filters/ImageFilterGradient.java
@@ -25,9 +25,8 @@ public class ImageFilterGradient extends ImageFilter {
@Override
public ImageFilter clone() throws CloneNotSupportedException {
ImageFilterGradient filter = (ImageFilterGradient) super.clone();
- for (int i = 0; i < mColors.length; i++) {
- filter.addColor(mColors[i], mPositions[i]);
- }
+ System.arraycopy(mColors, 0, filter.mColors, 0, mColors.length);
+ System.arraycopy(mPositions, 0, filter.mPositions, 0, mPositions.length);
return filter;
}
diff --git a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
index fbc4666c0..c4f0456cb 100644
--- a/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
+++ b/src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java
@@ -89,12 +89,19 @@ public class ImageStraighten extends ImageShow {
public void setActionUp() {
mMode = MODES.UP;
+ updatePreset();
}
public void setNoAction() {
mMode = MODES.NONE;
}
+ private void updatePreset() {
+ ImagePreset copy = new ImagePreset(getImagePreset());
+ copy.setStraightenRotation(mImageRotation, mImageRotationZoomFactor);
+ setImagePreset(copy);
+ }
+
public boolean onTouchEvent(MotionEvent event) {
switch (event.getActionMasked()) {
case (MotionEvent.ACTION_DOWN):
@@ -232,13 +239,6 @@ public class ImageStraighten extends ImageShow {
mImageRotationZoomFactor = (float) (rw / boundsRect.width());
- ImagePreset copy = new ImagePreset(getImagePreset());
- Log.v(LOGTAG, "creating a new image preset with rotation " + mImageRotation
- + " and zoom factor: " + mImageRotationZoomFactor);
-
- copy.setStraightenRotation(mImageRotation, mImageRotationZoomFactor);
- setImagePreset(copy);
-
if (mMode == MODES.MOVE) {
canvas.save();
canvas.clipPath(path);