diff options
| author | Android (Google) Code Review <android-gerrit@google.com> | 2009-08-03 11:54:18 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2009-08-03 11:54:18 -0700 |
| commit | 20b153bffc57711534c0f581258e06fa86afd67a (patch) | |
| tree | 70085c65c7afdcb8f7682ac1e2ae2530ed5c2570 | |
| parent | 7865fe38f6908750942338d13094a761452d6577 (diff) | |
| parent | 5fd26775bdd14b15058521c82e34b562e0c1e327 (diff) | |
| download | frameworks_base-20b153bffc57711534c0f581258e06fa86afd67a.zip frameworks_base-20b153bffc57711534c0f581258e06fa86afd67a.tar.gz frameworks_base-20b153bffc57711534c0f581258e06fa86afd67a.tar.bz2 | |
am 5fd26775: Merge change 9390 into donut
Merge commit '5fd26775bdd14b15058521c82e34b562e0c1e327'
* commit '5fd26775bdd14b15058521c82e34b562e0c1e327':
Name unknown albums after the folder they're in, similar to how songs
| -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 76d8401..71af909 100644 --- a/media/java/android/media/MediaScanner.java +++ b/media/java/android/media/MediaScanner.java @@ -681,6 +681,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); |
