package com.eighteengray.procamera.model;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
import rx.Observable;
import rx.android.schedulers.AndroidSchedulers;
import rx.schedulers.Schedulers;
public class SystemModel
{
public static Observable<Cursor> getImagesCursor(ContentResolver contentResolver)
{
Uri imageUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
/*Cursor cursor = contentResolver.query(imageUri, null, null, null, null);*/
/*String[] projection = { MediaStore.Images.Thumbnails._ID, MediaStore.Images.Thumbnails.IMAGE_ID,
MediaStore.Images.Thumbnails.DATA};
Cursor cursor = contentResolver.query(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, projection, null, null, null);*/
/*String[] projection = new String[]{MediaStore.Images.Media._ID,
MediaStore.Images.Media.BUCKET_ID, // 直接包含该图片文件的文件夹ID,防止在不同下的文件夹重名
MediaStore.Images.Media.BUCKET_DISPLAY_NAME, // 直接包含该图片文件的文件夹名
MediaStore.Images.Media.DISPLAY_NAME, // 图片文件名
MediaStore.Images.Media.DATA, // 图片绝对路径
"count(" + MediaStore.Images.Media._ID + ")"//统计当前文件夹下共有多少张图片
};
String selection = " 0==0) group by bucket_display_name --(";
Cursor cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, selection, null, "");*/
/*String[] projection = { MediaStore.Images.Thumbnails._ID, MediaStore.Images.Thumbnails.IMAGE_ID,
MediaStore.Images.Thumbnails.DATA};
Cursor cursor = MediaStore.Images.Thumbnails.queryMiniThumbnails(contentResolver, MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI,
MediaStore.Images.Thumbnails.MINI_KIND, projection);*/
/*Cursor cursor = contentResolver.query(imageUri, null ,MediaStore.Images.Media.MIME_TYPE + "=? or "
+MediaStore.Images.Media.MIME_TYPE + "=? or "
+ MediaStore.Images.Media.MIME_TYPE + "=?",
new String[] { "image/jpeg","image/png" ,"image/bmp"},
MediaStore.Images.Media.DATE_ADDED +" DESC");*/
final Cursor cursor = contentResolver.query(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, new String[]
{MediaStore.Images.ImageColumns.DATA}, "", null,
MediaStore.MediaColumns.DATE_ADDED + " DESC");
int count = cursor.getCount();
int columnCount = cursor.getColumnCount();
Observable<Cursor> observable = Observable.just(cursor).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread());
return observable;
}
}