really sort the items by timestamp only, not by type

This commit is contained in:
tibbi 2016-06-18 14:46:28 +02:00
parent 71c9e7e04e
commit 1bcf68c125
2 changed files with 17 additions and 13 deletions

View file

@ -126,8 +126,7 @@ public class MediaActivity extends AppCompatActivity
final String where = MediaStore.Images.Media.DATA + " like ? "; final String where = MediaStore.Images.Media.DATA + " like ? ";
final String[] args = new String[]{path + "%"}; final String[] args = new String[]{path + "%"};
final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.DATE_TAKEN}; final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.DATE_TAKEN};
final String order = MediaStore.Images.Media.DATE_MODIFIED + " DESC"; final Cursor cursor = getContentResolver().query(uri, columns, where, args, null);
final Cursor cursor = getContentResolver().query(uri, columns, where, args, order);
final String pattern = Pattern.quote(path) + "/[^/]*"; final String pattern = Pattern.quote(path) + "/[^/]*";
if (cursor != null && cursor.moveToFirst()) { if (cursor != null && cursor.moveToFirst()) {

View file

@ -29,6 +29,7 @@ import com.simplemobiletools.gallery.models.Medium;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.regex.Pattern; import java.util.regex.Pattern;
@ -270,7 +271,6 @@ public class ViewPagerActivity extends AppCompatActivity
private List<Medium> getMedia() { private List<Medium> getMedia() {
final List<Medium> myMedia = new ArrayList<>(); final List<Medium> myMedia = new ArrayList<>();
int j = 0;
for (int i = 0; i < 2; i++) { for (int i = 0; i < 2; i++) {
Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
if (i == 1) { if (i == 1) {
@ -278,9 +278,8 @@ public class ViewPagerActivity extends AppCompatActivity
} }
final String where = MediaStore.Images.Media.DATA + " like ? "; final String where = MediaStore.Images.Media.DATA + " like ? ";
final String[] args = new String[]{directory + "%"}; final String[] args = new String[]{directory + "%"};
final String[] columns = {MediaStore.Images.Media.DATA}; final String[] columns = {MediaStore.Images.Media.DATA, MediaStore.Images.Media.DATE_TAKEN};
final String order = MediaStore.Images.Media.DATE_MODIFIED + " DESC"; final Cursor cursor = getContentResolver().query(uri, columns, where, args, null);
final Cursor cursor = getContentResolver().query(uri, columns, where, args, order);
final String pattern = Pattern.quote(directory) + "/[^/]*"; final String pattern = Pattern.quote(directory) + "/[^/]*";
if (cursor != null && cursor.moveToFirst()) { if (cursor != null && cursor.moveToFirst()) {
@ -288,18 +287,24 @@ public class ViewPagerActivity extends AppCompatActivity
do { do {
final String curPath = cursor.getString(pathIndex); final String curPath = cursor.getString(pathIndex);
if (curPath.matches(pattern) && !curPath.equals(toBeDeleted) && !curPath.equals(beingDeleted)) { if (curPath.matches(pattern) && !curPath.equals(toBeDeleted) && !curPath.equals(beingDeleted)) {
myMedia.add(new Medium(curPath, i == 1, 0)); final int dateIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
final long timestamp = cursor.getLong(dateIndex);
if (curPath.equals(path)) { myMedia.add(new Medium(curPath, i == 1, timestamp));
pos = j;
}
j++;
} }
} while (cursor.moveToNext()); } while (cursor.moveToNext());
cursor.close(); cursor.close();
} }
} }
Collections.sort(myMedia);
int j = 0;
for (Medium medium : myMedia) {
if (medium.getPath().equals(path)) {
pos = j;
break;
}
j++;
}
return myMedia; return myMedia;
} }