OSDN Git Service

Include "album artist" when inserting items in the media provider.
authorMarco Nelissen <marcone@google.com>
Fri, 19 Mar 2010 00:10:38 +0000 (17:10 -0700)
committerMarco Nelissen <marcone@google.com>
Fri, 19 Mar 2010 00:15:56 +0000 (17:15 -0700)
Change-Id: Ic34e2d54557409866dc35c29ee397afdfe874762

core/java/android/provider/MediaStore.java
media/java/android/media/MediaScanner.java

index dda9018..1d27828 100644 (file)
@@ -870,6 +870,13 @@ public final class MediaStore {
             public static final String ARTIST = "artist";
 
             /**
+             * The artist credited for the album that contains the audio file
+             * <P>Type: TEXT</P>
+             * @hide
+             */
+            public static final String ALBUM_ARTIST = "album_artist";
+
+            /**
              * A non human readable key calculated from the ARTIST, used for
              * searching, sorting and grouping
              * <P>Type: TEXT</P>
index 1047fa4..e9bcafe 100644 (file)
@@ -634,7 +634,11 @@ public class MediaScanner
             } else if (MediaFile.isImageFileType(mFileType)) {
                 // FIXME - add DESCRIPTION
             } else if (MediaFile.isAudioFileType(mFileType)) {
-                map.put(Audio.Media.ARTIST, (mArtist != null && mArtist.length() > 0 ? mArtist : MediaStore.UNKNOWN_STRING));
+                String artist = mArtist != null && mArtist.length() > 0 ?
+                        mArtist : MediaStore.UNKNOWN_STRING;
+                map.put(Audio.Media.ARTIST, artist);
+                map.put(Audio.Media.ALBUM_ARTIST, mAlbumArtist != null &&
+                        mAlbumArtist.length() > 0 ? mAlbumArtist : artist);
                 map.put(Audio.Media.ALBUM, (mAlbum != null && mAlbum.length() > 0 ? mAlbum : MediaStore.UNKNOWN_STRING));
                 map.put(Audio.Media.COMPOSER, mComposer);
                 if (mYear != 0) {