diff options
author | H. Lehmann <ByteHamster@users.noreply.github.com> | 2019-07-02 09:18:37 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-02 09:18:37 +0200 |
commit | 082a4521567265e3e54a9dfefa3041f3d7ffc29a (patch) | |
tree | 1d87830838f3b670b7f9b6a5972ffcafccab3e6f | |
parent | abcd6f772e86d7c5e351e1c9e9e99e32cf462dda (diff) | |
parent | f047c23c0950a0d748fca6a2d040d2b2b767508b (diff) | |
download | AntennaPod-082a4521567265e3e54a9dfefa3041f3d7ffc29a.zip |
Merge pull request #3252 from jas14/handle-bad-chapters
Gracefully handle bad ID3 chapter URLs
-rw-r--r-- | core/src/main/java/de/danoeh/antennapod/core/util/id3reader/ChapterReader.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/id3reader/ChapterReader.java b/core/src/main/java/de/danoeh/antennapod/core/util/id3reader/ChapterReader.java index f681b8062..d22d08e09 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/util/id3reader/ChapterReader.java +++ b/core/src/main/java/de/danoeh/antennapod/core/util/id3reader/ChapterReader.java @@ -1,6 +1,10 @@ package de.danoeh.antennapod.core.util.id3reader; import android.util.Log; +import de.danoeh.antennapod.core.feed.Chapter; +import de.danoeh.antennapod.core.feed.ID3Chapter; +import de.danoeh.antennapod.core.util.id3reader.model.FrameHeader; +import de.danoeh.antennapod.core.util.id3reader.model.TagHeader; import java.io.IOException; import java.io.InputStream; @@ -8,11 +12,6 @@ import java.net.URLDecoder; import java.util.ArrayList; import java.util.List; -import de.danoeh.antennapod.core.feed.Chapter; -import de.danoeh.antennapod.core.feed.ID3Chapter; -import de.danoeh.antennapod.core.util.id3reader.model.FrameHeader; -import de.danoeh.antennapod.core.util.id3reader.model.TagHeader; - public class ChapterReader extends ID3Reader { private static final String TAG = "ID3ChapterReader"; @@ -69,11 +68,14 @@ public class ChapterReader extends ID3Reader { int descriptionLength = readString(null, input, header.getSize()); StringBuilder link = new StringBuilder(); readISOString(link, input, header.getSize() - descriptionLength); - String decodedLink = URLDecoder.decode(link.toString(), "UTF-8"); - - currentChapter.setLink(decodedLink); + try { + String decodedLink = URLDecoder.decode(link.toString(), "UTF-8"); + currentChapter.setLink(decodedLink); + Log.d(TAG, "Found link: " + currentChapter.getLink()); + } catch (IllegalArgumentException _iae) { + Log.w(TAG, "Bad URL found in ID3 data"); + } - Log.d(TAG, "Found link: " + currentChapter.getLink()); return ID3Reader.ACTION_DONT_SKIP; } break; |