// Path: picturepicker/src/main/java/devin/com/picturepicker/javabean/PictureFolder.java
// public class PictureFolder implements Serializable {
// 
//     /**
//      * 图片文件夹名称
//      */
//     public String folderName;
//     /**
//      * 图片文件夹绝对路径
//      */
//     public String folderAbsPath;
//     /**
//      *  图片文件夹需要要显示的封面
//      */
//     public PictureItem folderCover;
//     /**
//      * 图片文件夹下所有的图片
//      */
//     public List<PictureItem> pictureItemList;
// 
//     @Override
//     public boolean equals(Object o) {
//         if (o instanceof PictureFolder){
//             PictureFolder folder= (PictureFolder) o;
//             return TextUtils.equals(folder.folderAbsPath,folderAbsPath);
//         }
//         return super.equals(o);
//     }
// }
// 
// Path: picturepicker/src/main/java/devin/com/picturepicker/javabean/PictureItem.java
// public class PictureItem implements Serializable {
// 
//     /**
//      * 图片名称
//      */
//     public String pictureName;
//     /**
//      * 图片绝对路径
//      */
//     public String pictureAbsPath;
//     /**
//      * 图片类型
//      */
//     public String pictureMimeType;
//     /**
//      * 图片大小
//      */
//     public long pictureSize;
//     /**
//      * 图片加入的时间
//      */
//     public long pictureAddTime;
//     /**
//      * 图片的宽
//      */
//     public int pictureWidth;
//     /**
//      * 图片的高
//      */
//     public int pictureHeight;
// 
// 
//     @Override
//     public boolean equals(Object o) {
//         if (o instanceof PictureItem) {
//             PictureItem pictureItem = ((PictureItem) o);
//             return TextUtils.equals(pictureItem.pictureAbsPath, pictureAbsPath)
//                     &&
//                     pictureItem.pictureAddTime == pictureAddTime;
//         }
//         return super.equals(o);
//     }
// }


import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import devin.com.picturepicker.R;
import devin.com.picturepicker.javabean.PictureFolder;
import devin.com.picturepicker.javabean.PictureItem;
package devin.com.picturepicker.pick;





/**
 * <p>   Created by Devin Sun on 2016/10/14.
 */

public class PictureScanner implements LoaderManager.LoaderCallbacks<Cursor> {

    private final int SCANNER_ID = 0;

    /**
     * 查询图片需要的数据列
     */
    private final String[] IMAGE_PROJECTION = {
            ////图片的显示名称  aaa.jpg
            MediaStore.Images.Media.DISPLAY_NAME,
            //图片的真实路径  /storage/emulated/0/pp/downloader/wallpaper/aaa.jpg
            MediaStore.Images.Media.DATA,
            //图片的大小，long型  132492
            MediaStore.Images.Media.SIZE,
            //图片的宽度，int型  1920
            MediaStore.Images.Media.WIDTH,
            //图片的高度，int型  1080
            MediaStore.Images.Media.HEIGHT,
            //图片被添加的时间，long型  1450518608
            MediaStore.Images.Media.DATE_ADDED,
            //图片的类型     image/jpeg
            MediaStore.Images.Media.MIME_TYPE};


    /**
     * 图片扫描成的回调接口
     */
    public interface OnScanFinishListener {
        /**
         * 扫描完成
         *
         * @param pictureFolders
         */
// Path: picturepicker/src/main/java/devin/com/picturepicker/javabean/PictureFolder.java
// public class PictureFolder implements Serializable {
// 
//     /**
//      * 图片文件夹名称
//      */
//     public String folderName;
//     /**
//      * 图片文件夹绝对路径
//      */
//     public String folderAbsPath;
//     /**
//      *  图片文件夹需要要显示的封面
//      */
//     public PictureItem folderCover;
//     /**
//      * 图片文件夹下所有的图片
//      */
//     public List<PictureItem> pictureItemList;
// 
//     @Override
//     public boolean equals(Object o) {
//         if (o instanceof PictureFolder){
//             PictureFolder folder= (PictureFolder) o;
//             return TextUtils.equals(folder.folderAbsPath,folderAbsPath);
//         }
//         return super.equals(o);
//     }
// }
// 
// Path: picturepicker/src/main/java/devin/com/picturepicker/javabean/PictureItem.java
// public class PictureItem implements Serializable {
// 
//     /**
//      * 图片名称
//      */
//     public String pictureName;
//     /**
//      * 图片绝对路径
//      */
//     public String pictureAbsPath;
//     /**
//      * 图片类型
//      */
//     public String pictureMimeType;
//     /**
//      * 图片大小
//      */
//     public long pictureSize;
//     /**
//      * 图片加入的时间
//      */
//     public long pictureAddTime;
//     /**
//      * 图片的宽
//      */
//     public int pictureWidth;
//     /**
//      * 图片的高
//      */
//     public int pictureHeight;
// 
// 
//     @Override
//     public boolean equals(Object o) {
//         if (o instanceof PictureItem) {
//             PictureItem pictureItem = ((PictureItem) o);
//             return TextUtils.equals(pictureItem.pictureAbsPath, pictureAbsPath)
//                     &&
//                     pictureItem.pictureAddTime == pictureAddTime;
//         }
//         return super.equals(o);
//     }
// }


// Path: picturepicker/src/main/java/devin/com/picturepicker/pick/PictureScanner.java
import android.app.Activity;
import android.app.LoaderManager;
import android.content.Context;
import android.content.CursorLoader;
import android.content.Loader;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v4.util.ArrayMap;
import android.text.TextUtils;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import devin.com.picturepicker.R;
import devin.com.picturepicker.javabean.PictureFolder;
import devin.com.picturepicker.javabean.PictureItem;

package devin.com.picturepicker.pick;





/**
 * <p>   Created by Devin Sun on 2016/10/14.
 */

public class PictureScanner implements LoaderManager.LoaderCallbacks<Cursor> {

    private final int SCANNER_ID = 0;

    /**
     * 查询图片需要的数据列
     */
    private final String[] IMAGE_PROJECTION = {
            ////图片的显示名称  aaa.jpg
            MediaStore.Images.Media.DISPLAY_NAME,
            //图片的真实路径  /storage/emulated/0/pp/downloader/wallpaper/aaa.jpg
            MediaStore.Images.Media.DATA,
            //图片的大小，long型  132492
            MediaStore.Images.Media.SIZE,
            //图片的宽度，int型  1920
            MediaStore.Images.Media.WIDTH,
            //图片的高度，int型  1080
            MediaStore.Images.Media.HEIGHT,
            //图片被添加的时间，long型  1450518608
            MediaStore.Images.Media.DATE_ADDED,
            //图片的类型     image/jpeg
            MediaStore.Images.Media.MIME_TYPE};


    /**
     * 图片扫描成的回调接口
     */
    public interface OnScanFinishListener {
        /**
         * 扫描完成
         *
         * @param pictureFolders
         */
        void onScanFinish(List<PictureFolder> pictureFolders);