diff --git a/example/src/main/java/com/soundcloud/android/crop/example/MainActivity.java b/example/src/main/java/com/soundcloud/android/crop/example/MainActivity.java index 079775aa..eec34ac8 100644 --- a/example/src/main/java/com/soundcloud/android/crop/example/MainActivity.java +++ b/example/src/main/java/com/soundcloud/android/crop/example/MainActivity.java @@ -1,7 +1,5 @@ package com.soundcloud.android.crop.example; -import com.soundcloud.android.crop.Crop; - import android.app.Activity; import android.content.Intent; import android.net.Uri; @@ -11,6 +9,8 @@ import android.widget.ImageView; import android.widget.Toast; +import com.soundcloud.android.crop.Crop; + import java.io.File; public class MainActivity extends Activity { @@ -57,6 +57,12 @@ private void beginCrop(Uri source) { private void handleCrop(int resultCode, Intent result) { if (resultCode == RESULT_OK) { resultView.setImageURI(Crop.getOutput(result)); + + int x = result.getExtras().getInt(Crop.KEY_CROP_X); + int y = result.getExtras().getInt(Crop.KEY_CROP_Y); + int w = result.getExtras().getInt(Crop.KEY_CROP_WIDTH); + int h = result.getExtras().getInt(Crop.KEY_CROP_HEIGHT); + Toast.makeText(this,x + "," + y + "," + w + "," + h,Toast.LENGTH_LONG).show(); } else if (resultCode == Crop.RESULT_ERROR) { Toast.makeText(this, Crop.getError(result).getMessage(), Toast.LENGTH_SHORT).show(); } diff --git a/lib/src/main/java/com/soundcloud/android/crop/Crop.java b/lib/src/main/java/com/soundcloud/android/crop/Crop.java index 3ce06d61..831f459e 100644 --- a/lib/src/main/java/com/soundcloud/android/crop/Crop.java +++ b/lib/src/main/java/com/soundcloud/android/crop/Crop.java @@ -20,6 +20,11 @@ public class Crop { public static final int REQUEST_PICK = 9162; public static final int RESULT_ERROR = 404; + public static final String KEY_CROP_X = "CropX"; + public static final String KEY_CROP_Y = "CropY"; + public static final String KEY_CROP_WIDTH = "CropWidth"; + public static final String KEY_CROP_HEIGHT = "CropHeight"; + interface Extra { String ASPECT_X = "aspect_x"; String ASPECT_Y = "aspect_y"; diff --git a/lib/src/main/java/com/soundcloud/android/crop/CropImageActivity.java b/lib/src/main/java/com/soundcloud/android/crop/CropImageActivity.java index 1cb31d04..42cf3999 100644 --- a/lib/src/main/java/com/soundcloud/android/crop/CropImageActivity.java +++ b/lib/src/main/java/com/soundcloud/android/crop/CropImageActivity.java @@ -68,6 +68,8 @@ public class CropImageActivity extends MonitoredActivity { private CropImageView imageView; private HighlightView cropView; + private Rect croppingRect; + @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); @@ -301,6 +303,8 @@ private void onSaveClicked() { imageView.center(); imageView.highlightViews.clear(); } + + croppingRect = r; saveImage(croppedImage); } @@ -431,7 +435,16 @@ public boolean isSaving() { } private void setResultUri(Uri uri) { - setResult(RESULT_OK, new Intent().putExtra(MediaStore.EXTRA_OUTPUT, uri)); + Intent intent = new Intent(); + intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); + if(croppingRect!=null) { + intent.putExtra(Crop.KEY_CROP_X, croppingRect.left); + intent.putExtra(Crop.KEY_CROP_Y, croppingRect.top); + intent.putExtra(Crop.KEY_CROP_WIDTH, croppingRect.width()); + intent.putExtra(Crop.KEY_CROP_HEIGHT, croppingRect.height()); + } + + setResult(RESULT_OK,intent); } private void setResultException(Throwable throwable) {