summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-08-03 11:54:18 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-08-03 11:54:18 -0700
commit20b153bffc57711534c0f581258e06fa86afd67a (patch)
tree70085c65c7afdcb8f7682ac1e2ae2530ed5c2570
parent7865fe38f6908750942338d13094a761452d6577 (diff)
parent5fd26775bdd14b15058521c82e34b562e0c1e327 (diff)
downloadframeworks_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.java20
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);