private static final String LOGTAG = "EditorCrop";
ImageCrop mImageCrop;
- private String mAspectString = null;
+ private String mAspectString = "";
private boolean mCropActionFlag = false;
private CropExtras mCropExtras = null;
@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
@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();
@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();
@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();