// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TException.java
// public class TException extends Exception {
//     String detailMessage;
// 
//     public TException(TExceptionType exceptionType) {
//         super(exceptionType.getStringValue());
//         this.detailMessage = exceptionType.getStringValue();
//     }
// 
//     public String getDetailMessage() {
//         return detailMessage;
//     }
// }
// 
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TExceptionType.java
// public enum TExceptionType {
//     TYPE_NOT_IMAGE("选择的文件不是图片"), TYPE_WRITE_FAIL("保存选择的的文件失败"), TYPE_URI_NULL("所选照片的Uri 为null"), TYPE_URI_PARSE_FAIL("从Uri中获取文件路径失败"),
//     TYPE_NO_MATCH_PICK_INTENT("没有匹配到选择图片的Intent"), TYPE_NO_MATCH_CROP_INTENT("没有匹配到裁切图片的Intent"), TYPE_NO_CAMERA("没有相机"),
//     TYPE_NO_FIND("选择的文件没有找到");
// 
//     String stringValue;
// 
//     TExceptionType(String stringValue) {
//         this.stringValue = stringValue;
//     }
// 
//     public String getStringValue() {
//         return stringValue;
//     }
// }


import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.MimeTypeMap;
import android.widget.Toast;
import org.devio.takephoto.model.TException;
import org.devio.takephoto.model.TExceptionType;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
            return;
        }
        File file = new File(imageUri.getPath());
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(file);
            fos.write(bos.toByteArray());
            bos.flush();
            fos.flush();
        } catch (java.io.IOException e) {
            e.printStackTrace();
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                    if (bos != null) {
                        bos.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    /**
     * InputStream 转File
     */
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TException.java
// public class TException extends Exception {
//     String detailMessage;
// 
//     public TException(TExceptionType exceptionType) {
//         super(exceptionType.getStringValue());
//         this.detailMessage = exceptionType.getStringValue();
//     }
// 
//     public String getDetailMessage() {
//         return detailMessage;
//     }
// }
// 
// Path: takephoto_library/src/main/java/org/devio/takephoto/model/TExceptionType.java
// public enum TExceptionType {
//     TYPE_NOT_IMAGE("选择的文件不是图片"), TYPE_WRITE_FAIL("保存选择的的文件失败"), TYPE_URI_NULL("所选照片的Uri 为null"), TYPE_URI_PARSE_FAIL("从Uri中获取文件路径失败"),
//     TYPE_NO_MATCH_PICK_INTENT("没有匹配到选择图片的Intent"), TYPE_NO_MATCH_CROP_INTENT("没有匹配到裁切图片的Intent"), TYPE_NO_CAMERA("没有相机"),
//     TYPE_NO_FIND("选择的文件没有找到");
// 
//     String stringValue;
// 
//     TExceptionType(String stringValue) {
//         this.stringValue = stringValue;
//     }
// 
//     public String getStringValue() {
//         return stringValue;
//     }
// }


// Path: takephoto_library/src/main/java/org/devio/takephoto/uitl/TImageFiles.java
import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.graphics.Bitmap;
import android.net.Uri;
import android.os.Environment;
import android.text.TextUtils;
import android.util.Log;
import android.webkit.MimeTypeMap;
import android.widget.Toast;
import org.devio.takephoto.model.TException;
import org.devio.takephoto.model.TExceptionType;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;

            return;
        }
        File file = new File(imageUri.getPath());
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, bos);
        FileOutputStream fos = null;
        try {
            fos = new FileOutputStream(file);
            fos.write(bos.toByteArray());
            bos.flush();
            fos.flush();
        } catch (java.io.IOException e) {
            e.printStackTrace();
        } finally {
            if (fos != null) {
                try {
                    fos.close();
                    if (bos != null) {
                        bos.close();
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    /**
     * InputStream 转File
     */
    public static void inputStreamToFile(InputStream is, File file) throws TException {