diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-03 11:35:18 -0700 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-03 11:35:18 -0700 |
| commit | 5fd26775bdd14b15058521c82e34b562e0c1e327 (patch) | |
| tree | 727c7efd3dec432805d3283669f7eb710dd45d35 | |
| parent | b8802b21384e7e0136c423c34eb64c445033afa5 (diff) | |
| parent | c3c08ba5d67d836274fabdf4c1bff6f1053d95a3 (diff) | |
| download | frameworks_base-5fd26775bdd14b15058521c82e34b562e0c1e327.zip frameworks_base-5fd26775bdd14b15058521c82e34b562e0c1e327.tar.gz frameworks_base-5fd26775bdd14b15058521c82e34b562e0c1e327.tar.bz2 | |
Merge change 9390 into donut
* changes:
Name unknown albums after the folder they're in, similar to how songs with no title metadata are named after the file. Only files that are in the root of the card will still belong to the "Unknown Album"
| -rw-r--r-- | media/java/android/media/MediaScanner.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/media/java/android/media/MediaScanner.java b/media/java/android/media/MediaScanner.java index 95f3680..8db874a 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -674,6 +674,26 @@ public class MediaScanner } values.put(MediaStore.MediaColumns.TITLE, title); } + String album = values.getAsString(Audio.Media.ALBUM); + if (MediaFile.UNKNOWN_STRING.equals(album)) { + album = values.getAsString(MediaStore.MediaColumns.DATA); + // extract last path segment before file name + int lastSlash = album.lastIndexOf('/'); + if (lastSlash >= 0) { + int previousSlash = 0; + while (true) { + int idx = album.indexOf('/', previousSlash + 1); + if (idx < 0 || idx >= lastSlash) { + break; + } + previousSlash = idx; + } + if (previousSlash != 0) { + album = album.substring(previousSlash + 1, lastSlash); + values.put(Audio.Media.ALBUM, album); + } + } + } if (isAudio) { values.put(Audio.Media.IS_RINGTONE, ringtones); values.put(Audio.Media.IS_NOTIFICATION, notifications); |
