Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private ArrayList<imageFolder> getPicturePaths(){
- ArrayList<imageFolder> picFolders = new ArrayList<>();
- ArrayList<String> picPaths = new ArrayList<>();
- Uri allImagesuri = android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
- String[] projection = { MediaStore.Images.ImageColumns.DATA ,MediaStore.Images.Media.DISPLAY_NAME,
- MediaStore.Images.Media.BUCKET_DISPLAY_NAME,MediaStore.Images.Media.BUCKET_ID};
- Cursor cursor = this.getContentResolver().query(allImagesuri, projection, null, null, null);
- try {
- if (cursor != null) {
- cursor.moveToFirst();
- }
- do{
- imageFolder folds = new imageFolder();
- String name = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DISPLAY_NAME));
- String folder = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
- String datapath = cursor.getString(cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA));
- //String folderpaths = datapath.replace(name,"");
- String folderpaths = datapath.substring(0, datapath.lastIndexOf(folder+"/"));
- folderpaths = folderpaths+folder+"/";
- if (!picPaths.contains(folderpaths)) {
- picPaths.add(folderpaths);
- folds.setPath(folderpaths);
- folds.setFolderName(folder);
- folds.setFirstPic(datapath);//if the folder has only one picture this line helps to set it as first so as to avoid blank image in itemview
- folds.addpics();
- picFolders.add(folds);
- }else{
- for(int i = 0;i<picFolders.size();i++){
- if(picFolders.get(i).getPath().equals(folderpaths)){
- picFolders.get(i).setFirstPic(datapath);
- picFolders.get(i).addpics();
- }
- }
- }
- }while(cursor.moveToNext());
- cursor.close();
- } catch (Exception e) {
- e.printStackTrace();
- }
- for(int i = 0;i < picFolders.size();i++){
- Log.d("picture folders",picFolders.get(i).getFolderName()+" and path = "+picFolders.get(i).getPath()+" "+picFolders.get(i).getNumberOfPics());
- }
- return picFolders;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement