From 26b41ecc1a89eb1a45d5e6ca59b1916a1b03a744 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Sat, 9 Aug 2014 13:12:18 -0700 Subject: Fix user edits to fixing immediate cache --- src/github/daneren2005/dsub/domain/User.java | 4 ++++ src/github/daneren2005/dsub/service/CachedMusicService.java | 10 +++++----- src/github/daneren2005/dsub/util/UserUtil.java | 2 ++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/github/daneren2005/dsub/domain/User.java b/src/github/daneren2005/dsub/domain/User.java index f61f98df..179ac033 100644 --- a/src/github/daneren2005/dsub/domain/User.java +++ b/src/github/daneren2005/dsub/domain/User.java @@ -84,6 +84,10 @@ public class User implements Serializable { public List getSettings() { return settings; } + public void setSettings(List settings) { + this.settings.clear(); + this.settings.addAll(settings); + } public void addSetting(String name, Boolean value) { settings.add(new Setting(name, value)); } diff --git a/src/github/daneren2005/dsub/service/CachedMusicService.java b/src/github/daneren2005/dsub/service/CachedMusicService.java index 9654bfc6..9b120c20 100644 --- a/src/github/daneren2005/dsub/service/CachedMusicService.java +++ b/src/github/daneren2005/dsub/service/CachedMusicService.java @@ -548,7 +548,7 @@ public class CachedMusicService implements MusicService { public void createUser(final User user, Context context, ProgressListener progressListener) throws Exception { musicService.createUser(user, context, progressListener); - new UserUpdater(Context, "") { + new UserUpdater(context, "") { @Override public boolean checkResult(User check) { return true; @@ -558,7 +558,7 @@ public class CachedMusicService implements MusicService { public void updateResult(List users, User result) { users.add(user); } - } + }.execute(); } @Override @@ -647,21 +647,21 @@ public class CachedMusicService implements MusicService { if(objects != null) { T object = null; for(T check: objects) { - if(checkResult(check) { + if(checkResult(check)) { object = check; break; } } // Only reserialize if a match was found - if(object) { + if(object != null) { updateResult(objects, object); FileUtil.serialize(context, objects, cacheName); } } } } - private class UserUpdater extends SerializeUpdater { + private abstract class UserUpdater extends SerializeUpdater { String username; UserUpdater(Context context, String username) { diff --git a/src/github/daneren2005/dsub/util/UserUtil.java b/src/github/daneren2005/dsub/util/UserUtil.java index 5c57b422..5821a9dc 100644 --- a/src/github/daneren2005/dsub/util/UserUtil.java +++ b/src/github/daneren2005/dsub/util/UserUtil.java @@ -245,6 +245,7 @@ public final class UserUtil { protected Void doInBackground() throws Throwable { MusicService musicService = MusicServiceFactory.getMusicService(context); musicService.updateUser(user, context, null); + user.setSettings(user.getSettings()); return null; } @@ -296,6 +297,7 @@ public final class UserUtil { protected Void doInBackground() throws Throwable { MusicService musicService = MusicServiceFactory.getMusicService(context); musicService.changeEmail(user.getUsername(), email, context, null); + user.setEmail(email); return null; } -- cgit v1.2.3