summaryrefslogtreecommitdiff
path: root/altoslib/AltosPreferences.java
diff options
context:
space:
mode:
Diffstat (limited to 'altoslib/AltosPreferences.java')
-rw-r--r--altoslib/AltosPreferences.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java
index cc340d03..fb3026a4 100644
--- a/altoslib/AltosPreferences.java
+++ b/altoslib/AltosPreferences.java
@@ -350,12 +350,12 @@ public class AltosPreferences {
}
}
- public static void set_state(int serial, AltosState state, AltosListenerState listener_state) {
+ public static void set_state(AltosState state) {
synchronized(backend) {
- backend.putSerializable(String.format(statePreferenceFormat, serial),
- new AltosSavedState(state, listener_state));
- backend.putInt(statePreferenceLatest, serial);
+ backend.putSerializable(String.format(statePreferenceFormat, state.serial), state);
+ backend.putInt(statePreferenceLatest, state.serial);
+ flush_preferences();
}
}
@@ -389,9 +389,13 @@ public class AltosPreferences {
return latest;
}
- public static AltosSavedState state(int serial) {
+ public static AltosState state(int serial) {
synchronized(backend) {
- return (AltosSavedState) backend.getSerializable(String.format(statePreferenceFormat, serial), null);
+ try {
+ return (AltosState) backend.getSerializable(String.format(statePreferenceFormat, serial), null);
+ } catch (Exception e) {
+ return null;
+ }
}
}