diff options
author | nicolasroard <nicolasroard@google.com> | 2012-10-03 14:30:11 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2012-10-03 14:32:57 -0700 |
commit | b1de2584974b152a166e98d7f865945e4e911517 (patch) | |
tree | 01e20bfe939ce4ec0fbddbf32a48468d50a7c848 | |
parent | 7325d6115b91be94e84503c578c5fe40a1ee99b4 (diff) | |
download | android_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.java | 5 | ||||
-rw-r--r-- | src/com/android/gallery3d/filtershow/imageshow/ImageStraighten.java | 14 |
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); |