summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-11-17 15:42:09 -0500
committerMike Lockwood <lockwood@android.com>2010-11-17 15:42:09 -0500
commit0b58c19840c577c8d8fd8aa5315676d61b78ba0f (patch)
treed60faec1be2d9869fb51fbbbc485620550eb8fb7
parent1bf397ffbdaae9a5354c9bb0b5121c4a9f1c8c76 (diff)
downloadframeworks_base-0b58c19840c577c8d8fd8aa5315676d61b78ba0f.zip
frameworks_base-0b58c19840c577c8d8fd8aa5315676d61b78ba0f.tar.gz
frameworks_base-0b58c19840c577c8d8fd8aa5315676d61b78ba0f.tar.bz2
MTP: Set correct format for abstract audio playlists
Fixes a bad interaction with the media scanner that could result in playlists getting duplicated or deleted after rebooting. BUG: 3175649 Change-Id: I970234e86b24ac17d069aca085683d988abc7881 Signed-off-by: Mike Lockwood <lockwood@android.com>
-rw-r--r--media/java/android/media/MtpDatabase.java1
-rw-r--r--media/mtp/MtpServer.cpp2
2 files changed, 3 insertions, 0 deletions
diff --git a/media/java/android/media/MtpDatabase.java b/media/java/android/media/MtpDatabase.java
index 42d068f..ab31cd4 100644
--- a/media/java/android/media/MtpDatabase.java
+++ b/media/java/android/media/MtpDatabase.java
@@ -184,6 +184,7 @@ public class MtpDatabase {
ContentValues values = new ContentValues(1);
values.put(Audio.Playlists.DATA, path);
values.put(Audio.Playlists.NAME, name);
+ values.put(Files.FileColumns.FORMAT, format);
values.put(MediaColumns.MEDIA_SCANNER_NEW_OBJECT_ID, handle);
try {
Uri uri = mMediaProvider.insert(Audio.Playlists.EXTERNAL_CONTENT_URI, values);
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp
index 6cf70ec..7edbeb4 100644
--- a/media/mtp/MtpServer.cpp
+++ b/media/mtp/MtpServer.cpp
@@ -624,6 +624,7 @@ MtpResponseCode MtpServer::doSendObjectInfo() {
mData.getString(modified); // date modified
// keywords follow
+ LOGD("name: %s format: %04X\n", (const char *)name, format);
time_t modifiedTime;
if (!parseDateTime(modified, modifiedTime))
modifiedTime = 0;
@@ -692,6 +693,7 @@ MtpResponseCode MtpServer::doSendObject() {
mfr.offset = 0;
mfr.length = mSendObjectFileSize;
+ LOGD("receiving %s\n", (const char *)mSendObjectFilePath);
// transfer the file
ret = ioctl(mFD, MTP_RECEIVE_FILE, (unsigned long)&mfr);
close(mfr.fd);