// Path: takephoto_library/src/main/java/org/devio/takephoto/model/CropOptions.java
// public class CropOptions implements Serializable {
//     /**
//      * 使用TakePhoto自带的裁切工具进行裁切
//      */
//     private boolean withOwnCrop;
//     private int aspectX;
//     private int aspectY;
//     private int outputX;
//     private int outputY;
// 
//     private CropOptions() {
//     }
// 
//     public int getAspectX() {
//         return aspectX;
//     }
// 
//     public void setAspectX(int aspectX) {
//         this.aspectX = aspectX;
//     }
// 
//     public int getAspectY() {
//         return aspectY;
//     }
// 
//     public void setAspectY(int aspectY) {
//         this.aspectY = aspectY;
//     }
// 
//     public int getOutputX() {
//         return outputX;
//     }
// 
//     public void setOutputX(int outputX) {
//         this.outputX = outputX;
//     }
// 
//     public int getOutputY() {
//         return outputY;
//     }
// 
//     public void setOutputY(int outputY) {
//         this.outputY = outputY;
//     }
// 
//     public boolean isWithOwnCrop() {
//         return withOwnCrop;
//     }
// 
//     public void setWithOwnCrop(boolean withOwnCrop) {
//         this.withOwnCrop = withOwnCrop;
//     }
// 
//     public static class Builder {
//         private CropOptions options;
// 
//         public Builder() {
//             options = new CropOptions();
//         }
// 
//         public Builder setAspectX(int aspectX) {
//             options.setAspectX(aspectX);
//             return this;
//         }
// 
//         public Builder setAspectY(int aspectY) {
//             options.setAspectY(aspectY);
//             return this;
//         }
// 
//         public Builder setOutputX(int outputX) {
//             options.setOutputX(outputX);
//             return this;
//         }
// 
//         public Builder setOutputY(int outputY) {
//             options.setOutputY(outputY);
//             return this;
//         }
// 
//         public Builder setWithOwnCrop(boolean withOwnCrop) {
//             options.setWithOwnCrop(withOwnCrop);
//             return this;
//         }
// 
//         public CropOptions create() {
//             return options;
//         }
//     }
// }
// 
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TContextWrap.java
// public class TContextWrap {
//     private Activity activity;
//     private Fragment fragment;
// 
//     public static TContextWrap of(Activity activity) {
//         return new TContextWrap(activity);
//     }
// 
//     public static TContextWrap of(Fragment fragment) {
//         return new TContextWrap(fragment);
//     }
// 
//     private TContextWrap(Activity activity) {
//         this.activity = activity;
//     }
// 
//     private TContextWrap(Fragment fragment) {
//         this.fragment = fragment;
//         this.activity = fragment.getActivity();
//     }
// 
//     public Activity getActivity() {
//         return activity;
//     }
// 
//     public void setActivity(Activity activity) {
//         this.activity = activity;
//     }
// 
//     public Fragment getFragment() {
//         return fragment;
//     }
// 
//     public void setFragment(Fragment fragment) {
//         this.fragment = fragment;
//     }
// }


import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
import com.darsh.multipleimageselect.activities.AlbumSelectActivity;
import com.darsh.multipleimageselect.helpers.Constants;
import org.devio.takephoto.model.CropOptions;
import org.devio.takephoto.model.TContextWrap;
package org.devio.takephoto.uitl;



/**
 * Intent工具类用于生成拍照、
 * 从相册选择照片，裁剪照片所需的Intent
 * Author: JPH
 * Date: 2016/6/7 0007 13:41
 */
public class IntentUtils {
    private static final String TAG = IntentUtils.class.getName();

    /**
     * 获取图片多选的Intent
     *
     * @param limit 最多选择图片张数的限制
     */
    public static Intent getPickMultipleIntent(TContextWrap contextWrap, int limit) {
        Intent intent = new Intent(contextWrap.getActivity(), AlbumSelectActivity.class);
        intent.putExtra(Constants.INTENT_EXTRA_LIMIT, limit > 0 ? limit : 1);
        return intent;
    }

    /**
     * 获取裁剪照片的Intent
     *
     * @param targetUri 要裁剪的照片
     * @param outPutUri 裁剪完成的照片
     * @param options   裁剪配置
     * @return
     */
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/CropOptions.java
// public class CropOptions implements Serializable {
//     /**
//      * 使用TakePhoto自带的裁切工具进行裁切
//      */
//     private boolean withOwnCrop;
//     private int aspectX;
//     private int aspectY;
//     private int outputX;
//     private int outputY;
// 
//     private CropOptions() {
//     }
// 
//     public int getAspectX() {
//         return aspectX;
//     }
// 
//     public void setAspectX(int aspectX) {
//         this.aspectX = aspectX;
//     }
// 
//     public int getAspectY() {
//         return aspectY;
//     }
// 
//     public void setAspectY(int aspectY) {
//         this.aspectY = aspectY;
//     }
// 
//     public int getOutputX() {
//         return outputX;
//     }
// 
//     public void setOutputX(int outputX) {
//         this.outputX = outputX;
//     }
// 
//     public int getOutputY() {
//         return outputY;
//     }
// 
//     public void setOutputY(int outputY) {
//         this.outputY = outputY;
//     }
// 
//     public boolean isWithOwnCrop() {
//         return withOwnCrop;
//     }
// 
//     public void setWithOwnCrop(boolean withOwnCrop) {
//         this.withOwnCrop = withOwnCrop;
//     }
// 
//     public static class Builder {
//         private CropOptions options;
// 
//         public Builder() {
//             options = new CropOptions();
//         }
// 
//         public Builder setAspectX(int aspectX) {
//             options.setAspectX(aspectX);
//             return this;
//         }
// 
//         public Builder setAspectY(int aspectY) {
//             options.setAspectY(aspectY);
//             return this;
//         }
// 
//         public Builder setOutputX(int outputX) {
//             options.setOutputX(outputX);
//             return this;
//         }
// 
//         public Builder setOutputY(int outputY) {
//             options.setOutputY(outputY);
//             return this;
//         }
// 
//         public Builder setWithOwnCrop(boolean withOwnCrop) {
//             options.setWithOwnCrop(withOwnCrop);
//             return this;
//         }
// 
//         public CropOptions create() {
//             return options;
//         }
//     }
// }
// 
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TContextWrap.java
// public class TContextWrap {
//     private Activity activity;
//     private Fragment fragment;
// 
//     public static TContextWrap of(Activity activity) {
//         return new TContextWrap(activity);
//     }
// 
//     public static TContextWrap of(Fragment fragment) {
//         return new TContextWrap(fragment);
//     }
// 
//     private TContextWrap(Activity activity) {
//         this.activity = activity;
//     }
// 
//     private TContextWrap(Fragment fragment) {
//         this.fragment = fragment;
//         this.activity = fragment.getActivity();
//     }
// 
//     public Activity getActivity() {
//         return activity;
//     }
// 
//     public void setActivity(Activity activity) {
//         this.activity = activity;
//     }
// 
//     public Fragment getFragment() {
//         return fragment;
//     }
// 
//     public void setFragment(Fragment fragment) {
//         this.fragment = fragment;
//     }
// }


// Path: takephoto_library/src/main/java/org/devio/takephoto/uitl/IntentUtils.java
import android.content.Intent;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.util.Log;
import com.darsh.multipleimageselect.activities.AlbumSelectActivity;
import com.darsh.multipleimageselect.helpers.Constants;
import org.devio.takephoto.model.CropOptions;
import org.devio.takephoto.model.TContextWrap;

package org.devio.takephoto.uitl;



/**
 * Intent工具类用于生成拍照、
 * 从相册选择照片，裁剪照片所需的Intent
 * Author: JPH
 * Date: 2016/6/7 0007 13:41
 */
public class IntentUtils {
    private static final String TAG = IntentUtils.class.getName();

    /**
     * 获取图片多选的Intent
     *
     * @param limit 最多选择图片张数的限制
     */
    public static Intent getPickMultipleIntent(TContextWrap contextWrap, int limit) {
        Intent intent = new Intent(contextWrap.getActivity(), AlbumSelectActivity.class);
        intent.putExtra(Constants.INTENT_EXTRA_LIMIT, limit > 0 ? limit : 1);
        return intent;
    }

    /**
     * 获取裁剪照片的Intent
     *
     * @param targetUri 要裁剪的照片
     * @param outPutUri 裁剪完成的照片
     * @param options   裁剪配置
     * @return
     */
    public static Intent getCropIntentWithOtherApp(Uri targetUri, Uri outPutUri, CropOptions options) {