From cd5ac96ad7eb7a3ca38b1cdb444879be70734bdf Mon Sep 17 00:00:00 2001 From: Jamie McDonald Date: Fri, 24 Apr 2015 13:23:13 -0400 Subject: [PATCH] Interface change since output is not optional --- .../android/crop/example/MainActivity.java | 9 ++++---- .../android/crop/CropBuilderTest.java | 16 ++++++-------- .../com/soundcloud/android/crop/Crop.java | 22 ++++++++----------- 3 files changed, 20 insertions(+), 27 deletions(-) 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 7e904ba..079775a 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,17 +1,16 @@ package com.soundcloud.android.crop.example; +import com.soundcloud.android.crop.Crop; + import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; - import android.widget.ImageView; import android.widget.Toast; -import com.soundcloud.android.crop.Crop; - import java.io.File; public class MainActivity extends Activity { @@ -51,8 +50,8 @@ public class MainActivity extends Activity { } private void beginCrop(Uri source) { - Uri outputUri = Uri.fromFile(new File(getCacheDir(), "cropped")); - new Crop(source).output(outputUri).asSquare().start(this); + Uri destination = Uri.fromFile(new File(getCacheDir(), "cropped")); + Crop.of(source, destination).asSquare().start(this); } private void handleCrop(int resultCode, Intent result) { diff --git a/lib/src/androidTest/java/com/soundcloud/android/crop/CropBuilderTest.java b/lib/src/androidTest/java/com/soundcloud/android/crop/CropBuilderTest.java index 8ef5e81..4166c7c 100644 --- a/lib/src/androidTest/java/com/soundcloud/android/crop/CropBuilderTest.java +++ b/lib/src/androidTest/java/com/soundcloud/android/crop/CropBuilderTest.java @@ -1,16 +1,16 @@ package com.soundcloud.android.crop; +import static org.fest.assertions.api.Assertions.assertThat; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +import org.fest.assertions.api.ANDROID; + import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.provider.MediaStore; -import org.fest.assertions.api.ANDROID; - -import static org.fest.assertions.api.Assertions.assertThat; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - public class CropBuilderTest extends BaseTestCase { private Activity activity; @@ -22,7 +22,7 @@ public class CropBuilderTest extends BaseTestCase { activity = mock(Activity.class); when(activity.getPackageName()).thenReturn("com.example"); - builder = new Crop(Uri.parse("image:input")); + builder = Crop.of(Uri.parse("image:input"), Uri.parse("image:output")); } public void testInputUriSetAsData() { @@ -30,8 +30,6 @@ public class CropBuilderTest extends BaseTestCase { } public void testOutputUriSetAsExtra() { - builder.output(Uri.parse("image:output")); - Intent intent = builder.getIntent(activity); Uri output = intent.getParcelableExtra(MediaStore.EXTRA_OUTPUT); 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 d1b20a0..a35266e 100644 --- a/lib/src/main/java/com/soundcloud/android/crop/Crop.java +++ b/lib/src/main/java/com/soundcloud/android/crop/Crop.java @@ -29,23 +29,19 @@ public class Crop { private Intent cropIntent; /** - * Create a crop Intent builder with source image + * Create a crop Intent builder with source and destination image Uris * - * @param source Source image URI + * @param source Uri for image to crop + * @param destination Uri for saving the cropped image */ - public Crop(Uri source) { - cropIntent = new Intent(); - cropIntent.setData(source); + public static Crop of(Uri source, Uri destination) { + return new Crop(source, destination); } - /** - * Set output URI where the cropped image will be saved - * - * @param output Output image URI - */ - public Crop output(Uri output) { - cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, output); - return this; + private Crop(Uri source, Uri destination) { + cropIntent = new Intent(); + cropIntent.setData(source); + cropIntent.putExtra(MediaStore.EXTRA_OUTPUT, destination); } /**