diff options
author | Keith Packard <keithp@keithp.com> | 2016-04-30 18:37:05 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-04-30 18:37:05 -0700 |
commit | 59466c1c2dbf95c427c2bb52304049eaac4d124f (patch) | |
tree | bdc6e825a39dd2ff40cda8033df476a71df1f0e5 /altoslib/AltosPreferences.java | |
parent | 4219fd7720caeec196bf6cb1b4cf78c8fadaf3cd (diff) |
altoslib: Flush during set_state. Don't store listener state.
The listener state wasn't used anyways, so don't bother storing
it. Also, flush the state during set_state, which actually causes the
state to be written out.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosPreferences.java')
-rw-r--r-- | altoslib/AltosPreferences.java | 16 |
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; + } } } |