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>
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 @@
                 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 @@
     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 @@
     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);