diff options
author | Scott Jackson <daneren2005@gmail.com> | 2015-07-27 22:01:48 -0700 |
---|---|---|
committer | Scott Jackson <daneren2005@gmail.com> | 2015-07-27 22:01:48 -0700 |
commit | 40376e95b425fd82b04eba7e1078800dbf40759f (patch) | |
tree | fbaa5585f5dd092feb22f5924a327d162034eead /app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java | |
parent | 900caeea647200ae21f676f355d6fa87557954ce (diff) | |
download | dsub-40376e95b425fd82b04eba7e1078800dbf40759f.tar.gz dsub-40376e95b425fd82b04eba7e1078800dbf40759f.tar.bz2 dsub-40376e95b425fd82b04eba7e1078800dbf40759f.zip |
Show error if network error on hard refresh of album lists
Diffstat (limited to 'app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java')
-rw-r--r-- | app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java b/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java index 3bc7f2a3..f053c215 100644 --- a/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java +++ b/app/src/main/java/github/daneren2005/dsub/service/CachedMusicService.java @@ -51,7 +51,6 @@ import github.daneren2005.dsub.domain.SearchCritera; import github.daneren2005.dsub.domain.SearchResult; import github.daneren2005.dsub.domain.Share; import github.daneren2005.dsub.domain.User; -import github.daneren2005.dsub.util.Pair; import github.daneren2005.dsub.util.SilentBackgroundTask; import github.daneren2005.dsub.util.ProgressListener; import github.daneren2005.dsub.util.TimeLimitedCache; @@ -384,9 +383,9 @@ public class CachedMusicService implements MusicService { } @Override - public MusicDirectory getAlbumList(String type, int size, int offset, Context context, ProgressListener progressListener) throws Exception { + public MusicDirectory getAlbumList(String type, int size, int offset, boolean refresh, Context context, ProgressListener progressListener) throws Exception { try { - MusicDirectory dir = musicService.getAlbumList(type, size, offset, context, progressListener); + MusicDirectory dir = musicService.getAlbumList(type, size, offset, refresh, context, progressListener); // Do some serialization updates for changes to recently added if ("newest".equals(type) && offset == 0) { @@ -490,6 +489,10 @@ public class CachedMusicService implements MusicService { return dir; } catch(IOException e) { Log.w(TAG, "Failed to refresh album list: ", e); + if(refresh) { + throw e; + } + MusicDirectory dir = FileUtil.deserialize(context, getCacheName(context, type, Integer.toString(offset)), MusicDirectory.class); if(dir == null) { @@ -507,12 +510,17 @@ public class CachedMusicService implements MusicService { } @Override - public MusicDirectory getAlbumList(String type, String extra, int size, int offset, Context context, ProgressListener progressListener) throws Exception { + public MusicDirectory getAlbumList(String type, String extra, int size, int offset, boolean refresh, Context context, ProgressListener progressListener) throws Exception { try { - MusicDirectory dir = musicService.getAlbumList(type, extra, size, offset, context, progressListener); + MusicDirectory dir = musicService.getAlbumList(type, extra, size, offset, refresh, context, progressListener); FileUtil.serialize(context, dir, getCacheName(context, type + extra, Integer.toString(offset))); return dir; } catch(IOException e) { + Log.w(TAG, "Failed to refresh album list: ", e); + if(refresh) { + throw e; + } + MusicDirectory dir = FileUtil.deserialize(context, getCacheName(context, type + extra, Integer.toString(offset)), MusicDirectory.class); if(dir == null) { |