We should pass null for the album artist if it was not set, instead of a copy
of the artist, since the media provider needs to know whether the album artist
was actually set.
Change-Id: I29b885c8293609299a55babadf9ca2a30e20e5bd
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java
index e9bcafe..f845fec1 100644
--- a/media/java/android/media/MediaScanner.java
+++ b/media/java/android/media/MediaScanner.java
@@ -634,12 +634,12 @@
} else if (MediaFile.isImageFileType(mFileType)) {
// FIXME - add DESCRIPTION
} else if (MediaFile.isAudioFileType(mFileType)) {
- 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.ARTIST, (mArtist != null && mArtist.length() > 0) ?
+ mArtist : MediaStore.UNKNOWN_STRING);
+ map.put(Audio.Media.ALBUM_ARTIST, (mAlbumArtist != null &&
+ mAlbumArtist.length() > 0) ? mAlbumArtist : null);
+ map.put(Audio.Media.ALBUM, (mAlbum != null && mAlbum.length() > 0) ?
+ mAlbum : MediaStore.UNKNOWN_STRING);
map.put(Audio.Media.COMPOSER, mComposer);
if (mYear != 0) {
map.put(Audio.Media.YEAR, mYear);