From c1b169cdb5276a72d8341e7b4a009020409f3d28 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Mon, 21 Mar 2016 15:57:20 +0100 Subject: Parse seconds as float --- .../de/danoeh/antennapod/core/syndication/namespace/NSITunes.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'core/src/main/java/de/danoeh') diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java index dfd5cb74f..e5f53d8ea 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java +++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java @@ -70,16 +70,17 @@ public class NSITunes extends Namespace { int durationMs = 0; if (parts.length == 2) { durationMs += TimeUnit.MINUTES.toMillis(Long.parseLong(parts[0])) + - TimeUnit.SECONDS.toMillis(Long.parseLong(parts[1])); + TimeUnit.SECONDS.toMillis((long)Float.parseFloat(parts[1])); } else if (parts.length >= 3) { durationMs += TimeUnit.HOURS.toMillis(Long.parseLong(parts[0])) + TimeUnit.MINUTES.toMillis(Long.parseLong(parts[1])) + - TimeUnit.SECONDS.toMillis(Long.parseLong(parts[2])); + TimeUnit.SECONDS.toMillis((long)Float.parseFloat(parts[2])); } else { return; } state.getTempObjects().put(DURATION, durationMs); } catch (NumberFormatException e) { + Log.e(NSTAG, "duration: " + duration); Log.e(NSTAG, Log.getStackTraceString(e)); } } else if (SUBTITLE.equals(localName)) { -- cgit v1.2.3 From 7b3b7cc2ba2a44e859963b472a07c78052f7f0b9 Mon Sep 17 00:00:00 2001 From: Martin Fietz Date: Mon, 21 Mar 2016 16:10:52 +0100 Subject: Refactor --- .../danoeh/antennapod/core/syndication/namespace/NSITunes.java | 9 ++++----- .../de/danoeh/antennapod/core/syndication/namespace/NSMedia.java | 7 ++++--- 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'core/src/main/java/de/danoeh') diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java index e5f53d8ea..1c424c6b5 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java +++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSITunes.java @@ -61,11 +61,11 @@ public class NSITunes extends Namespace { state.getFeed().setAuthor(author); } } else if (DURATION.equals(localName)) { - String duration = state.getContentBuf().toString(); - if(TextUtils.isEmpty(duration)) { + String durationStr = state.getContentBuf().toString(); + if(TextUtils.isEmpty(durationStr)) { return; } - String[] parts = duration.trim().split(":"); + String[] parts = durationStr.trim().split(":"); try { int durationMs = 0; if (parts.length == 2) { @@ -80,8 +80,7 @@ public class NSITunes extends Namespace { } state.getTempObjects().put(DURATION, durationMs); } catch (NumberFormatException e) { - Log.e(NSTAG, "duration: " + duration); - Log.e(NSTAG, Log.getStackTraceString(e)); + Log.e(NSTAG, "Duration \"" + durationStr + "\" could not be parsed"); } } else if (SUBTITLE.equals(localName)) { String subtitle = state.getContentBuf().toString(); diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java index 39f553818..7a8b2bc03 100644 --- a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java +++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java @@ -40,10 +40,11 @@ public class NSMedia extends Namespace { if (state.getCurrentItem() != null && state.getCurrentItem().getMedia() == null && url != null && validType) { long size = 0; + String sizeStr = attributes.getValue(SIZE); try { - size = Long.parseLong(attributes.getValue(SIZE)); + size = Long.parseLong(sizeStr); } catch (NumberFormatException e) { - Log.e(TAG, "Length attribute could not be parsed."); + Log.e(TAG, "Size \"" + sizeStr + "\" could not be parsed."); } int durationMs = 0; @@ -53,7 +54,7 @@ public class NSMedia extends Namespace { long duration = Long.parseLong(durationStr); durationMs = (int) TimeUnit.MILLISECONDS.convert(duration, TimeUnit.SECONDS); } catch (NumberFormatException e) { - Log.e(TAG, "Duration attribute could not be parsed"); + Log.e(TAG, "Duration \"" + durationStr + "\" could not be parsed"); } } FeedMedia media = new FeedMedia(state.getCurrentItem(), url, size, type); -- cgit v1.2.3