From e35222dd5628105aa2cb3e4eda5004c12b1edf85 Mon Sep 17 00:00:00 2001 From: daneren2005 Date: Mon, 5 Aug 2013 13:40:36 -0700 Subject: Added option to download all podcasts at once --- .../dsub/fragments/SelectDirectoryFragment.java | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'src/github') diff --git a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java index c3771492..7be4b8f3 100644 --- a/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java +++ b/src/github/daneren2005/dsub/fragments/SelectDirectoryFragment.java @@ -205,6 +205,9 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter case R.id.menu_remove_playlist: removeFromPlaylist(playlistId, playlistName, getSelectedIndexes()); return true; + case R.id.menu_download_all: + downloadAllPodcastEpisodes(); + return true; } if(super.onOptionsItemSelected(item)) { @@ -646,6 +649,32 @@ public class SelectDirectoryFragment extends SubsonicFragment implements Adapter }.execute(); } + public void downloadAllPodcastEpisodes() { + new LoadingTask(context, true) { + @Override + protected Void doInBackground() throws Throwable { + MusicService musicService = MusicServiceFactory.getMusicService(context); + + int count = entryList.getCount(); + for(int i = 0; i < count; i++) { + PodcastEpisode episode = (PodcastEpisode) entryList.getItemAtPosition(i); + musicService.downloadPodcastEpisode(episode.getEpisodeId(), context, null); + } + return null; + } + + @Override + protected void done(Void result) { + Util.toast(context, context.getResources().getString(R.string.select_podcasts_downloading, podcastName)); + } + + @Override + protected void error(Throwable error) { + Util.toast(context, getErrorMessage(error), false); + } + }.execute(); + } + public void downloadPodcastEpisode(final PodcastEpisode episode) { new LoadingTask(context, true) { @Override -- cgit v1.2.3