X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosPreferences.java;h=35d44631ed22918acab2f4c5bada4959e36c33dc;hp=51fc4205e6b79fa987376ee068cb5b80a30d7ac3;hb=1085ec5d57e0ed5d132f2bbdac1a0b6a32c0ab4a;hpb=8df6afe843e184e98e5d965cee3af562dfa30a3b diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 51fc4205..35d44631 100644 --- a/altoslib/AltosPreferences.java +++ b/altoslib/AltosPreferences.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -365,7 +366,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 +406,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; } }