OSDN Git Service

Eleven: Add missing metadata keys for Avrcp.
authorsolk2 <solk@solk.org.ua>
Fri, 12 Dec 2014 09:35:12 +0000 (11:35 +0200)
committersolk2 <solk@solk.org.ua>
Fri, 19 Dec 2014 08:46:30 +0000 (10:46 +0200)
Change-Id: I7201838cf65b6b1edcf2aee0284e31bdafaf42ca

src/com/cyanogenmod/eleven/MusicPlaybackService.java

index c61c9f6..2624537 100644 (file)
@@ -1492,6 +1492,9 @@ public class MusicPlaybackService extends Service {
                     .putString(MediaMetadata.METADATA_KEY_ALBUM, getAlbumName())
                     .putString(MediaMetadata.METADATA_KEY_TITLE, getTrackName())
                     .putLong(MediaMetadata.METADATA_KEY_DURATION, duration())
+                    .putLong(MediaMetadata.METADATA_KEY_TRACK_NUMBER, getQueuePosition() + 1)
+                    .putLong(MediaMetadata.METADATA_KEY_NUM_TRACKS, getQueue().length)
+                    .putString(MediaMetadata.METADATA_KEY_GENRE, getGenreName())
                     .putBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART, albumArt)
                     .build());
 
@@ -1999,6 +2002,35 @@ public class MusicPlaybackService extends Service {
     }
 
     /**
+     * Returns the genre name of song
+     *
+     * @return The current song genre name
+     */
+    public String getGenreName() {
+        synchronized (this) {
+            if (mCursor == null) {
+                return null;
+            }
+            String[] genreProjection = { MediaStore.Audio.Genres.NAME };
+            Uri genreUri = MediaStore.Audio.Genres.getContentUriForAudioId("external",
+                    (int) mPlaylist.get(mPlayPos).mId);
+            Cursor genreCursor = getContentResolver().query(genreUri, genreProjection,
+                    null, null, null);
+            if (genreCursor != null) {
+                try {
+                    if (genreCursor.moveToFirst()) {
+                        return genreCursor.getString(
+                            genreCursor.getColumnIndexOrThrow(MediaStore.Audio.Genres.NAME));
+                    }
+                } finally {
+                    genreCursor.close();
+                }
+            }
+            return null;
+        }
+    }
+
+    /**
      * Returns the artist name
      *
      * @return The current song artist name