15
15
*/
16
16
package com.example.android.mediacontroller
17
17
18
+ import android.support.v4.media.MediaDescriptionCompat
18
19
import android.support.v4.media.MediaMetadataCompat
19
20
import android.support.v4.media.session.MediaControllerCompat
20
21
import android.support.v4.media.session.MediaSessionCompat
@@ -26,6 +27,7 @@ import org.json.JSONObject
26
27
*/
27
28
28
29
const val METADATA_KEY_PREFIX = " android.media.metadata."
30
+ const val METADATA_EXTRA_KEY_PREFIX = " android.media.extra."
29
31
30
32
// Title, Artist, and Duration seem to always be present for a given Media Item, so these
31
33
// three Metadata Keys are used to identify unique Media Items
@@ -262,7 +264,12 @@ fun getMetadataKey(metadata: MediaMetadataCompat?, key: String): String {
262
264
MediaMetadataCompat .METADATA_KEY_DISC_NUMBER ,
263
265
MediaMetadataCompat .METADATA_KEY_DURATION ,
264
266
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
266
273
)
267
274
val bitmapValues = arrayOf(
268
275
MediaMetadataCompat .METADATA_KEY_ALBUM_ART ,
@@ -302,6 +309,8 @@ fun formatMetadata(metadata: MediaMetadataCompat?): String {
302
309
keys.forEach { key ->
303
310
val label = if (key.startsWith(METADATA_KEY_PREFIX )) {
304
311
" ${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 , ' ' )
305
314
} else {
306
315
" $key :" .padEnd(20 , ' ' )
307
316
}
0 commit comments