summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mike Lockwood <lockwood@google.com> 2013-04-01 10:52:47 -0700
committer Mike Lockwood <lockwood@google.com> 2013-04-01 10:54:22 -0700
commit1341f1eee3493fc5e263494acb8adebb6f0180b6 (patch)
tree6e289d313441e7ac83294e5c2b83ed887d944eb2
parent0102443c4f52f2e15fd731c452f0c4745312d448 (diff)
MTP: Implement date created field in GetObjectInfo
Bug: 8293874 Change-Id: I3e50ea1049f63e2ed3a1f849fef74a2fbf206fe8
-rw-r--r--media/java/android/mtp/MtpDatabase.java12
-rw-r--r--media/jni/android_mtp_MtpDatabase.cpp3
2 files changed, 11 insertions, 4 deletions
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index ea128032f6c1..632334b0608a 100644
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java
@@ -96,7 +96,8 @@ public class MtpDatabase {
Files.FileColumns.FORMAT, // 2
Files.FileColumns.PARENT, // 3
Files.FileColumns.DATA, // 4
- Files.FileColumns.DATE_MODIFIED, // 5
+ Files.FileColumns.DATE_ADDED, // 5
+ Files.FileColumns.DATE_MODIFIED, // 6
};
private static final String ID_WHERE = Files.FileColumns._ID + "=?";
private static final String PATH_WHERE = Files.FileColumns.DATA + "=?";
@@ -840,7 +841,7 @@ public class MtpDatabase {
}
private boolean getObjectInfo(int handle, int[] outStorageFormatParent,
- char[] outName, long[] outModified) {
+ char[] outName, long[] outCreatedModified) {
Cursor c = null;
try {
c = mMediaProvider.query(mPackageName, mObjectsUri, OBJECT_INFO_PROJECTION,
@@ -861,7 +862,12 @@ public class MtpDatabase {
path.getChars(start, end, outName, 0);
outName[end - start] = 0;
- outModified[0] = c.getLong(5);
+ outCreatedModified[0] = c.getLong(5);
+ outCreatedModified[1] = c.getLong(6);
+ // use modification date as creation date if date added is not set
+ if (outCreatedModified[0] == 0) {
+ outCreatedModified[0] = outCreatedModified[1];
+ }
return true;
}
} catch (RemoteException e) {
diff --git a/media/jni/android_mtp_MtpDatabase.cpp b/media/jni/android_mtp_MtpDatabase.cpp
index bc65de5bd559..fbd5d21c226f 100644
--- a/media/jni/android_mtp_MtpDatabase.cpp
+++ b/media/jni/android_mtp_MtpDatabase.cpp
@@ -775,7 +775,8 @@ MtpResponseCode MyMtpDatabase::getObjectInfo(MtpObjectHandle handle,
env->ReleaseIntArrayElements(mIntBuffer, intValues, 0);
jlong* longValues = env->GetLongArrayElements(mLongBuffer, 0);
- info.mDateModified = longValues[0];
+ info.mDateCreated = longValues[0];
+ info.mDateModified = longValues[1];
env->ReleaseLongArrayElements(mLongBuffer, longValues, 0);
// info.mAssociationType = (format == MTP_FORMAT_ASSOCIATION ?