summaryrefslogtreecommitdiff
path: root/altoslib/AltosPreferences.java
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib/AltosPreferences.java')
-rw-r--r--altoslib/AltosPreferences.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java
index 51fc4205..569aaa54 100644
--- a/altoslib/AltosPreferences.java
+++ b/altoslib/AltosPreferences.java
@@ -365,7 +365,7 @@ public class AltosPreferences {
public static void set_state(AltosState state) {
synchronized(backend) {
- backend.putJson(String.format(statePreferenceFormat, state.serial), state.json());
+ backend.putJson(String.format(statePreferenceFormat, state.serial), new AltosJson(state));
backend.putInt(statePreferenceLatest, state.serial);
flush_preferences();
}
@@ -405,10 +405,12 @@ public class AltosPreferences {
public static AltosState state(int serial) {
synchronized(backend) {
try {
- return AltosState.fromJson(backend.getJson(String.format(statePreferenceFormat, serial)));
+ AltosJson json = backend.getJson(String.format(statePreferenceFormat, serial));
+ if (json != null)
+ return (AltosState) (json.make(AltosState.class));
} catch (Exception e) {
- return null;
}
+ return null;
}
}