add timestamp to media
This commit is contained in:
parent
2fb8fc2dc7
commit
b47e13c4b5
5 changed files with 16 additions and 7 deletions
|
@ -124,19 +124,21 @@ public class MediaActivity extends AppCompatActivity
|
|||
}
|
||||
final String where = MediaStore.Images.Media.DATA + " like ? ";
|
||||
final String[] args = new String[]{path + "%"};
|
||||
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, order);
|
||||
final String pattern = Pattern.quote(path) + "/[^/]*";
|
||||
|
||||
if (cursor != null && cursor.moveToFirst()) {
|
||||
final int pathIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
|
||||
final int dateIndex = cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN);
|
||||
do {
|
||||
final String curPath = cursor.getString(pathIndex);
|
||||
if (curPath.matches(pattern) && !toBeDeleted.contains(curPath)) {
|
||||
final File file = new File(curPath);
|
||||
if (file.exists()) {
|
||||
myMedia.add(new Medium(curPath, (i == 1)));
|
||||
final int timestamp = cursor.getInt(dateIndex);
|
||||
myMedia.add(new Medium(curPath, (i == 1), timestamp));
|
||||
} else {
|
||||
invalidFiles.add(file.getAbsolutePath());
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ public class PhotoActivity extends AppCompatActivity implements ViewPagerFragmen
|
|||
hideSystemUI();
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
final Medium medium = new Medium(uri.toString(), false);
|
||||
final Medium medium = new Medium(uri.toString(), false, 0);
|
||||
bundle.putSerializable(Constants.MEDIUM, medium);
|
||||
final ViewPagerFragment fragment = new PhotoFragment();
|
||||
fragment.setListener(this);
|
||||
|
|
|
@ -34,7 +34,7 @@ public class VideoActivity extends AppCompatActivity implements ViewPagerFragmen
|
|||
hideSystemUI();
|
||||
|
||||
final Bundle bundle = new Bundle();
|
||||
final Medium medium = new Medium(uri.toString(), true);
|
||||
final Medium medium = new Medium(uri.toString(), true, 0);
|
||||
bundle.putSerializable(Constants.MEDIUM, medium);
|
||||
final ViewPagerFragment fragment = new VideoFragment();
|
||||
fragment.setListener(this);
|
||||
|
|
|
@ -229,7 +229,7 @@ public class ViewPagerActivity extends AppCompatActivity
|
|||
|
||||
if (file.renameTo(newFile)) {
|
||||
final int currItem = pager.getCurrentItem();
|
||||
media.set(currItem, new Medium(newFile.getAbsolutePath(), media.get(currItem).getIsVideo()));
|
||||
media.set(currItem, new Medium(newFile.getAbsolutePath(), media.get(currItem).getIsVideo(), 0));
|
||||
|
||||
final String[] changedFiles = {file.getAbsolutePath(), newFile.getAbsolutePath()};
|
||||
MediaScannerConnection.scanFile(getApplicationContext(), changedFiles, null, null);
|
||||
|
@ -288,7 +288,7 @@ public class ViewPagerActivity extends AppCompatActivity
|
|||
do {
|
||||
final String curPath = cursor.getString(pathIndex);
|
||||
if (curPath.matches(pattern) && !curPath.equals(toBeDeleted) && !curPath.equals(beingDeleted)) {
|
||||
myMedia.add(new Medium(curPath, i == 1));
|
||||
myMedia.add(new Medium(curPath, i == 1, 0));
|
||||
|
||||
if (curPath.equals(path)) {
|
||||
pos = j;
|
||||
|
|
|
@ -6,10 +6,12 @@ public class Medium implements Serializable {
|
|||
private static final long serialVersionUID = -6543139465975455L;
|
||||
private final String path;
|
||||
private final boolean isVideo;
|
||||
private final int timestamp;
|
||||
|
||||
public Medium(String path, boolean isVideo) {
|
||||
public Medium(String path, boolean isVideo, int timestamp) {
|
||||
this.path = path;
|
||||
this.isVideo = isVideo;
|
||||
this.timestamp = timestamp;
|
||||
}
|
||||
|
||||
public String getPath() {
|
||||
|
@ -20,10 +22,15 @@ public class Medium implements Serializable {
|
|||
return isVideo;
|
||||
}
|
||||
|
||||
public int getTimestamp() {
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Medium {" +
|
||||
"isVideo=" + getIsVideo() +
|
||||
", timestamp=" + getTimestamp() +
|
||||
", path=" + getPath() + "}";
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue