aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Jackson <daneren2005@gmail.com>2014-08-09 13:12:18 -0700
committerScott Jackson <daneren2005@gmail.com>2014-08-09 13:12:18 -0700
commit26b41ecc1a89eb1a45d5e6ca59b1916a1b03a744 (patch)
tree1a647fef21a8aa0c4c7c6dc58617dd7b2710a67a
parentc7e889954e657ad503bad5bc554f609a89eb9335 (diff)
downloaddsub-26b41ecc1a89eb1a45d5e6ca59b1916a1b03a744.tar.gz
dsub-26b41ecc1a89eb1a45d5e6ca59b1916a1b03a744.tar.bz2
dsub-26b41ecc1a89eb1a45d5e6ca59b1916a1b03a744.zip
Fix user edits to fixing immediate cache
-rw-r--r--src/github/daneren2005/dsub/domain/User.java4
-rw-r--r--src/github/daneren2005/dsub/service/CachedMusicService.java10
-rw-r--r--src/github/daneren2005/dsub/util/UserUtil.java2
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<Setting> getSettings() {
return settings;
}
+ public void setSettings(List<Setting> 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<User> 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<User> {
+ private abstract class UserUpdater extends SerializeUpdater<User> {
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;
}