summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java4
-rw-r--r--core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java7
2 files changed, 10 insertions, 1 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java
index e14866b4e..8b036c6a9 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/parsers/DurationParser.java
@@ -8,7 +8,9 @@ public class DurationParser {
public static long inMillis(String durationStr) throws NumberFormatException {
String[] parts = durationStr.trim().split(":");
- if (parts.length == 2) {
+ if (parts.length == 1) {
+ return toMillis(parts[0]);
+ } else if (parts.length == 2) {
return toMillis("0", parts[0], parts[1]);
} else if (parts.length == 3) {
return toMillis(parts[0], parts[1], parts[2]);
diff --git a/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java b/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java
index b73916b24..e7c861969 100644
--- a/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java
+++ b/core/src/test/java/de/danoeh/antennapod/core/syndication/parsers/DurationParserTest.java
@@ -17,6 +17,13 @@ public class DurationParserTest {
}
@Test
+ public void testSingleNumberDurationInMillis() {
+ int twoHoursInSeconds = 2 * 60 * 60;
+ long duration = DurationParser.inMillis(String.valueOf(twoHoursInSeconds));
+ assertEquals(2 * hours, duration);
+ }
+
+ @Test
public void testMinuteSecondDurationInMillis() {
long duration = DurationParser.inMillis("05:10");
assertEquals(5 * minutes + 10 * seconds, duration);