diff options
| author | 2013-04-01 10:52:47 -0700 | |
|---|---|---|
| committer | 2013-04-01 10:54:22 -0700 | |
| commit | 1341f1eee3493fc5e263494acb8adebb6f0180b6 (patch) | |
| tree | 6e289d313441e7ac83294e5c2b83ed887d944eb2 | |
| parent | 0102443c4f52f2e15fd731c452f0c4745312d448 (diff) | |
MTP: Implement date created field in GetObjectInfo
Bug: 8293874
Change-Id: I3e50ea1049f63e2ed3a1f849fef74a2fbf206fe8
| -rw-r--r-- | media/java/android/mtp/MtpDatabase.java | 12 | ||||
| -rw-r--r-- | media/jni/android_mtp_MtpDatabase.cpp | 3 | 
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 ?  |