From b28a98067f45e541fcc7341226486dbb26c62516 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 22 Jan 2022 15:14:44 +0100 Subject: Prefer chapter list with more info --- .../de/danoeh/antennapod/core/feed/ChapterMerger.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/de/danoeh/antennapod/core/feed/ChapterMerger.java b/core/src/main/java/de/danoeh/antennapod/core/feed/ChapterMerger.java index 80e669939..9bbab7251 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/feed/ChapterMerger.java +++ b/core/src/main/java/de/danoeh/antennapod/core/feed/ChapterMerger.java @@ -37,7 +37,7 @@ public class ChapterMerger { if (Math.abs(chapterTarget.getStart() - chapterOther.getStart()) > 1000) { Log.e(TAG, "Chapter lists are too different. Cancelling merge."); - return chapters1; + return score(chapters1) > score(chapters2) ? chapters1 : chapters2; } if (TextUtils.isEmpty(chapterTarget.getImageUrl())) { @@ -53,4 +53,18 @@ public class ChapterMerger { return chapters2; } } + + /** + * Tries to give a score that can determine which list of chapters a user might want to see. + */ + private static int score(List chapters) { + int score = 0; + for (Chapter chapter : chapters) { + score = score + + (TextUtils.isEmpty(chapter.getTitle()) ? 0 : 1) + + (TextUtils.isEmpty(chapter.getLink()) ? 0 : 1) + + (TextUtils.isEmpty(chapter.getImageUrl()) ? 0 : 1); + } + return score; + } } -- cgit v1.2.3 From 1837ce30d1616639a327271be657a9ef40a575b9 Mon Sep 17 00:00:00 2001 From: ByteHamster Date: Sat, 22 Jan 2022 15:41:22 +0100 Subject: MIME type is always ISO encoded --- .../main/java/de/danoeh/antennapod/parser/media/id3/ChapterReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parser/media/src/main/java/de/danoeh/antennapod/parser/media/id3/ChapterReader.java b/parser/media/src/main/java/de/danoeh/antennapod/parser/media/id3/ChapterReader.java index 81bfa67b6..ac79432b5 100644 --- a/parser/media/src/main/java/de/danoeh/antennapod/parser/media/id3/ChapterReader.java +++ b/parser/media/src/main/java/de/danoeh/antennapod/parser/media/id3/ChapterReader.java @@ -82,7 +82,7 @@ public class ChapterReader extends ID3Reader { break; case FRAME_ID_PICTURE: byte encoding = readByte(); - String mime = readEncodedString(encoding, frameHeader.getSize()); + String mime = readIsoStringNullTerminated(frameHeader.getSize()); byte type = readByte(); String description = readEncodedString(encoding, frameHeader.getSize()); Log.d(TAG, "Found apic: " + mime + "," + description); -- cgit v1.2.3