OSDN Git Service

am 839d529f: Fix for applied ratios
authornicolasroard <nicolasroard@google.com>
Thu, 28 Feb 2013 22:37:41 +0000 (14:37 -0800)
committerAndroid Git Automerger <android-git-automerger@android.com>
Thu, 28 Feb 2013 22:37:41 +0000 (14:37 -0800)
* commit '839d529f800adcd1ef5fcd262322bc939c2c2089':
  Fix for applied ratios

src/com/android/gallery3d/filtershow/editors/EditorCrop.java
src/com/android/gallery3d/filtershow/editors/EditorFlip.java
src/com/android/gallery3d/filtershow/editors/EditorRotate.java
src/com/android/gallery3d/filtershow/editors/EditorStraighten.java

index 0fbf483..947fccb 100644 (file)
@@ -29,7 +29,7 @@ public class EditorCrop extends Editor implements EditorInfo {
     private static final String LOGTAG = "EditorCrop";
 
     ImageCrop mImageCrop;
-    private String mAspectString = null;
+    private String mAspectString = "";
     private boolean mCropActionFlag = false;
     private CropExtras mCropExtras = null;
 
@@ -40,13 +40,24 @@ public class EditorCrop extends Editor implements EditorInfo {
     @Override
     public void createEditor(Context context, FrameLayout frameLayout) {
         super.createEditor(context, frameLayout);
-        mView = mImageShow = mImageCrop = new ImageCrop(context);
-        mImageCrop.setExtras(mCropExtras);
-        mImageCrop.setAspectString(mAspectString);
-        mImageCrop.setCropActionFlag(mCropActionFlag);
+        if (mImageCrop == null) {
+            // TODO: need this for now because there's extra state in ImageCrop.
+            // all the state instead should be in the representation.
+            // Same thing for the other geometry editors.
+            mImageCrop = new ImageCrop(context);
+        }
+        mView = mImageShow = mImageCrop;
         mImageCrop.setImageLoader(MasterImage.getImage().getImageLoader());
         mImageCrop.setEditor(this);
         mImageCrop.syncLocalToMasterGeometry();
+        mImageCrop.setCropActionFlag(mCropActionFlag);
+        if (mCropActionFlag) {
+            mImageCrop.setExtras(mCropExtras);
+            mImageCrop.setAspectString(mAspectString);
+            mImageCrop.clear();
+        } else {
+            mImageCrop.setExtras(null);
+        }
     }
 
     @Override
index bc04c11..94ab2ee 100644 (file)
@@ -34,7 +34,10 @@ public class EditorFlip extends Editor implements EditorInfo {
     @Override
     public void createEditor(Context context, FrameLayout frameLayout) {
         super.createEditor(context, frameLayout);
-        mView = mImageShow = mImageFlip = new ImageFlip(context);
+        if (mImageFlip == null) {
+            mImageFlip = new ImageFlip(context);
+        }
+        mView = mImageShow = mImageFlip;
         mImageFlip.setImageLoader(MasterImage.getImage().getImageLoader());
         mImageFlip.setEditor(this);
         mImageFlip.syncLocalToMasterGeometry();
index 1385ec8..0032399 100644 (file)
@@ -34,7 +34,10 @@ public class EditorRotate extends Editor implements EditorInfo {
     @Override
     public void createEditor(Context context, FrameLayout frameLayout) {
         super.createEditor(context, frameLayout);
-        mView = mImageShow = mImageRotate = new ImageRotate(context);
+        if (mImageRotate == null) {
+            mImageRotate = new ImageRotate(context);
+        }
+        mView = mImageShow = mImageRotate;
         mImageRotate.setImageLoader(MasterImage.getImage().getImageLoader());
         mImageRotate.setEditor(this);
         mImageRotate.syncLocalToMasterGeometry();
index 0925589..4641970 100644 (file)
@@ -34,7 +34,10 @@ public class EditorStraighten extends Editor implements EditorInfo {
     @Override
     public void createEditor(Context context, FrameLayout frameLayout) {
         super.createEditor(context, frameLayout);
-        mView = mImageShow = mImageStraighten = new ImageStraighten(context);
+        if (mImageStraighten == null) {
+            mImageStraighten = new ImageStraighten(context);
+        }
+        mView = mImageShow = mImageStraighten;
         mImageStraighten.setImageLoader(MasterImage.getImage().getImageLoader());
         mImageStraighten.setEditor(this);
         mImageStraighten.syncLocalToMasterGeometry();