Interface change since output is not optional

This commit is contained in:
Jamie McDonald 2015-04-24 13:23:13 -04:00
parent 4bbc21ec2f
commit cd5ac96ad7
3 changed files with 20 additions and 27 deletions

View File

@ -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) {

View File

@ -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);

View File

@ -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);
}
/**