summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-08-03 11:35:18 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-08-03 11:35:18 -0700
commit5fd26775bdd14b15058521c82e34b562e0c1e327 (patch)
tree727c7efd3dec432805d3283669f7eb710dd45d35
parentb8802b21384e7e0136c423c34eb64c445033afa5 (diff)
parentc3c08ba5d67d836274fabdf4c1bff6f1053d95a3 (diff)
downloadframeworks_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.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 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);