aboutsummaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/github/daneren2005/dsub/service/parser/MusicDirectoryParser.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/service/parser/MusicDirectoryParser.java b/app/src/main/java/github/daneren2005/dsub/service/parser/MusicDirectoryParser.java
index a786bceb..f2d58b5d 100644
--- a/app/src/main/java/github/daneren2005/dsub/service/parser/MusicDirectoryParser.java
+++ b/app/src/main/java/github/daneren2005/dsub/service/parser/MusicDirectoryParser.java
@@ -64,7 +64,11 @@ public class MusicDirectoryParser extends MusicDirectoryEntryParser {
// Only check for songs
if(checkForDuplicates && !entry.isDirectory()) {
// Check if duplicates
- Entry duplicate = titleMap.get(entry.getTitle());
+ String disc = (entry.getDiscNumber() != null) ? Integer.toString(entry.getDiscNumber()) : "";
+ String track = (entry.getTrack() != null) ? Integer.toString(entry.getTrack()) : "";
+ String duplicateId = disc + "-" + track + "-" + entry.getTitle();
+
+ Entry duplicate = titleMap.get(duplicateId);
if (duplicate != null) {
// Check if the first already has been rebased or not
if (duplicate.getTitle().equals(entry.getTitle())) {
@@ -74,7 +78,7 @@ public class MusicDirectoryParser extends MusicDirectoryEntryParser {
// Rebase if this is the second instance of this title found
entry.rebaseTitleOffPath();
} else {
- titleMap.put(entry.getTitle(), entry);
+ titleMap.put(duplicateId, entry);
}
}