From 7183a85869ba97faa0c64cea30dde5b638c73e81 Mon Sep 17 00:00:00 2001 From: Adrian Ulrich Date: Sat, 4 Feb 2017 10:05:24 +0100 Subject: [PATCH] implement group-album-by-folder --- .../blinkenlights/android/medialibrary/MediaScanner.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java index f609207c..543c3658 100644 --- a/src/ch/blinkenlights/android/medialibrary/MediaScanner.java +++ b/src/ch/blinkenlights/android/medialibrary/MediaScanner.java @@ -385,6 +385,7 @@ public class MediaScanner implements Handler.Callback { * @return true if we modified the database */ private boolean rpcInspectFile(File file) { + MediaLibrary.Preferences prefs = MediaLibrary.getPreferences(mContext); String path = file.getAbsolutePath(); long songId = MediaLibrary.hash63(path); @@ -437,8 +438,13 @@ public class MediaScanner implements Handler.Callback { if (discNumber == null) discNumber = "1"; // untagged, but most likely '1' - this prevents annoying sorting issues with partially tagged files - long albumId = MediaLibrary.hash63(album); long artistId = MediaLibrary.hash63(artist); + long albumId = MediaLibrary.hash63(album); + + // Overwrite albumId with a hash that included the parent dir if set in preferences + if (prefs.groupAlbumsByFolder) { + albumId = MediaLibrary.hash63(album + "\n" + file.getParent()); + } ContentValues v = new ContentValues(); v.put(MediaLibrary.SongColumns._ID, songId);