diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-09-21 19:46:08 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-09-21 19:46:08 +0200 |
commit | 48292609f6586fbb85ed59a4a46a5e23e49fba61 (patch) | |
tree | 38c122820301e6bfafb7c4029d520ad2f1c1d405 /src/de/danoeh/antennapod/service/download/DownloadService.java | |
parent | 0eb841db4b2c340c5c5200e5fb655482ee98cfc6 (diff) | |
download | AntennaPod-48292609f6586fbb85ed59a4a46a5e23e49fba61.zip |
MediaHandler now reads id3 chapters
Diffstat (limited to 'src/de/danoeh/antennapod/service/download/DownloadService.java')
-rw-r--r-- | src/de/danoeh/antennapod/service/download/DownloadService.java | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/de/danoeh/antennapod/service/download/DownloadService.java b/src/de/danoeh/antennapod/service/download/DownloadService.java index 25cc1ee5a..5341c54aa 100644 --- a/src/de/danoeh/antennapod/service/download/DownloadService.java +++ b/src/de/danoeh/antennapod/service/download/DownloadService.java @@ -56,6 +56,7 @@ import de.danoeh.antennapod.feed.FeedMedia; import de.danoeh.antennapod.storage.DownloadRequester; import de.danoeh.antennapod.syndication.handler.FeedHandler; import de.danoeh.antennapod.syndication.handler.UnsupportedFeedtypeException; +import de.danoeh.antennapod.util.ChapterUtils; import de.danoeh.antennapod.util.DownloadError; import de.danoeh.antennapod.util.InvalidFeedException; @@ -427,7 +428,7 @@ public class DownloadService extends Service { createReport = true; } successfulDownloads++; - } else if (!status.isCancelled()){ + } else if (!status.isCancelled()) { if (status.getFeedFile().getClass() != FeedImage.class) { createReport = true; } @@ -675,6 +676,8 @@ public class DownloadService extends Service { @Override public void run() { + boolean chaptersRead = false; + media.setDownloaded(true); // Get duration MediaPlayer mediaplayer = new MediaPlayer(); @@ -691,10 +694,21 @@ public class DownloadService extends Service { mediaplayer.release(); } + if (media.getItem().getChapters() == null) { + ChapterUtils.readID3ChaptersFromFeedItem(media.getItem()); + if (media.getItem().getChapters() != null) { + chaptersRead = true; + } + } + saveDownloadStatus(status); sendDownloadHandledIntent(DOWNLOAD_TYPE_MEDIA); - manager.setFeedMedia(DownloadService.this, media); - + if (chaptersRead) { + manager.setFeedItem(DownloadService.this, media.getItem()); + } else { + manager.setFeedMedia(DownloadService.this, media); + } + downloadsBeingHandled -= 1; queryDownloads(); } |