aboutsummaryrefslogtreecommitdiff
path: root/src/github/daneren2005/dsub/service/CachedMusicService.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/github/daneren2005/dsub/service/CachedMusicService.java')
-rw-r--r--src/github/daneren2005/dsub/service/CachedMusicService.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/github/daneren2005/dsub/service/CachedMusicService.java b/src/github/daneren2005/dsub/service/CachedMusicService.java
index d0740704..7dd5120a 100644
--- a/src/github/daneren2005/dsub/service/CachedMusicService.java
+++ b/src/github/daneren2005/dsub/service/CachedMusicService.java
@@ -41,6 +41,7 @@ import github.daneren2005.dsub.domain.PodcastChannel;
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.domain.Version;
import github.daneren2005.dsub.util.SilentBackgroundTask;
import github.daneren2005.dsub.util.ProgressListener;
@@ -507,6 +508,38 @@ public class CachedMusicService implements MusicService {
}
@Override
+ public User getUser(boolean refresh, String username, Context context, ProgressListener progressListener) throws Exception {
+ User result = null;
+
+ if(!refresh) {
+ result = FileUtil.deserialize(context, getCacheName(context, "user"), User.class);
+ }
+
+ if(result == null) {
+ result = musicService.getUser(refresh, username, context, progressListener);
+ FileUtil.serialize(context, result, getCacheName(context, "user"));
+ }
+
+ return result;
+ }
+
+ @Override
+ public List<User> getUsers(boolean refresh, Context context, ProgressListener progressListener) throws Exception {
+ List<User> result = null;
+
+ if(!refresh) {
+ result = FileUtil.deserialize(context, getCacheName(context, "users"), ArrayList.class);
+ }
+
+ if(result == null) {
+ result = musicService.getUsers(refresh, context, progressListener);
+ FileUtil.serialize(context, new ArrayList<User>(result), getCacheName(context, "users"));
+ }
+
+ return result;
+ }
+
+ @Override
public int processOfflineSyncs(final Context context, final ProgressListener progressListener) throws Exception{
return musicService.processOfflineSyncs(context, progressListener);
}