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 | 1046a23a15aa2aa291b490ce7c0781141f4c2f20 (patch) | |
tree | 5a421ad15ba94631bd8727c5f5a7f85ec0ca280c /src/com/android/gallery3d | |
parent | 45e666c65b75d36327c3491fb8e1245ba5cf4c77 (diff) | |
download | android_packages_apps_Gallery2-1046a23a15aa2aa291b490ce7c0781141f4c2f20.tar.gz android_packages_apps_Gallery2-1046a23a15aa2aa291b490ce7c0781141f4c2f20.tar.bz2 android_packages_apps_Gallery2-1046a23a15aa2aa291b490ce7c0781141f4c2f20.zip |
Fix ANR in image editor
bug:7275425
Change-Id: I01a89579e17a0e4fc0817b61c7fda48ca54d0afa
Diffstat (limited to 'src/com/android/gallery3d')
-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); |