1515 */
1616package com.example.android.mediacontroller
1717
18+ import android.support.v4.media.MediaDescriptionCompat
1819import android.support.v4.media.MediaMetadataCompat
1920import android.support.v4.media.session.MediaControllerCompat
2021import android.support.v4.media.session.MediaSessionCompat
@@ -26,6 +27,7 @@ import org.json.JSONObject
2627 */
2728
2829const val METADATA_KEY_PREFIX = " android.media.metadata."
30+ const val METADATA_EXTRA_KEY_PREFIX = " android.media.extra."
2931
3032// Title, Artist, and Duration seem to always be present for a given Media Item, so these
3133// three Metadata Keys are used to identify unique Media Items
@@ -262,7 +264,12 @@ fun getMetadataKey(metadata: MediaMetadataCompat?, key: String): String {
262264 MediaMetadataCompat .METADATA_KEY_DISC_NUMBER ,
263265 MediaMetadataCompat .METADATA_KEY_DURATION ,
264266 MediaMetadataCompat .METADATA_KEY_NUM_TRACKS ,
265- MediaMetadataCompat .METADATA_KEY_TRACK_NUMBER
267+ MediaMetadataCompat .METADATA_KEY_TRACK_NUMBER ,
268+ MediaMetadataCompat .METADATA_KEY_DOWNLOAD_STATUS ,
269+ MediaMetadataCompat .METADATA_KEY_BT_FOLDER_TYPE ,
270+ MediaMetadataCompat .METADATA_KEY_ADVERTISEMENT ,
271+ MediaDescriptionCompat .EXTRA_DOWNLOAD_STATUS ,
272+ MediaDescriptionCompat .EXTRA_BT_FOLDER_TYPE
266273 )
267274 val bitmapValues = arrayOf(
268275 MediaMetadataCompat .METADATA_KEY_ALBUM_ART ,
@@ -302,6 +309,8 @@ fun formatMetadata(metadata: MediaMetadataCompat?): String {
302309 keys.forEach { key ->
303310 val label = if (key.startsWith(METADATA_KEY_PREFIX )) {
304311 " ${key.substringAfter(METADATA_KEY_PREFIX )} :" .padEnd(20 , ' ' )
312+ } else if (key.startsWith(METADATA_EXTRA_KEY_PREFIX )) {
313+ " extra.${key.substringAfter(METADATA_EXTRA_KEY_PREFIX )} :" .padEnd(20 , ' ' )
305314 } else {
306315 " $key :" .padEnd(20 , ' ' )
307316 }
0 commit comments