From 56458b12e19310b51d228c601012bf4b65a29f17 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Mon, 1 Oct 2012 19:54:33 -0700 Subject: Got playlist downloading/caching working --- .../daneren2005/dsub/activity/SelectPlaylistActivity.java | 4 ++-- .../daneren2005/dsub/activity/SubsonicTabActivity.java | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'subsonic-android/src') diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java index 6afefc5b..3f9f16ff 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SelectPlaylistActivity.java @@ -134,10 +134,10 @@ public class SelectPlaylistActivity extends SubsonicTabActivity implements Adapt Intent intent; switch (menuItem.getItemId()) { case R.id.playlist_menu_download: - downloadRecursively(playlist.getId(), false, true, false, false, true); + downloadPlaylist(playlist.getId(), playlist.getName(), false, true, false, false, true); break; case R.id.playlist_menu_pin: - downloadRecursively(playlist.getId(), true, true, false, false, true); + downloadPlaylist(playlist.getId(), playlist.getName(), true, true, false, false, true); break; case R.id.playlist_menu_play_now: intent = new Intent(SelectPlaylistActivity.this, SelectAlbumActivity.class); diff --git a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java index 8bbb1342..c7ef57b5 100644 --- a/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java +++ b/subsonic-android/src/github/daneren2005/dsub/activity/SubsonicTabActivity.java @@ -238,14 +238,23 @@ public class SubsonicTabActivity extends SherlockActivity { } protected void downloadRecursively(final String id, final boolean save, final boolean append, final boolean autoplay, final boolean shuffle, final boolean background) { - ModalBackgroundTask> task = new ModalBackgroundTask>(this, false) { - + downloadRecursively(id, "", true, save, append, autoplay, shuffle, background); + } + protected void downloadPlaylist(final String id, final String name, final boolean save, final boolean append, final boolean autoplay, final boolean shuffle, final boolean background) { + downloadRecursively(id, name, false, save, append, autoplay, shuffle, background); + } + protected void downloadRecursively(final String id, final String name, final boolean isDirectory, final boolean save, final boolean append, final boolean autoplay, final boolean shuffle, final boolean background) { + ModalBackgroundTask> task = new ModalBackgroundTask>(this, false) { private static final int MAX_SONGS = 500; @Override protected List doInBackground() throws Throwable { MusicService musicService = MusicServiceFactory.getMusicService(SubsonicTabActivity.this); - MusicDirectory root = musicService.getMusicDirectory(id, false, SubsonicTabActivity.this, this); + MusicDirectory root; + if(isDirectory) + root = musicService.getMusicDirectory(id, false, SubsonicTabActivity.this, this); + else + root = musicService.getPlaylist(id, name, SubsonicTabActivity.this, this); List songs = new LinkedList(); getSongsRecursively(root, songs); return songs; -- cgit v1.2.3