Include "album artist" when inserting items in the media provider.
Change-Id: Ic34e2d54557409866dc35c29ee397afdfe874762
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index dda9018..1d27828 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -870,6 +870,13 @@
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>
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index 1047fa4..e9bcafe 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -634,7 +634,11 @@
} 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) {