X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosPreferences.java;h=35d44631ed22918acab2f4c5bada4959e36c33dc;hp=8e625674840c964ecf6335b1918d58a2e3347807;hb=51bdee662fdfad1937c576daadd2e5eacac17905;hpb=1b5ea911049a8afae6af475a4a2bf62a6e3aa57b diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 8e625674..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 @@ -135,23 +136,11 @@ public class AltosPreferences { public static AltosFrequency[] load_common_frequencies() { AltosFrequency[] frequencies = null; - AltosJson sets; - try { - sets = AltosJson.fromString(backend.getString(frequenciesPreference,null)); - - if (sets != null) { - ArrayList freqs = new ArrayList(); - - for (int i = 0; i < sets.size(); i++) { - AltosFrequency f = AltosFrequency.fromJson(sets.get(i), null); - if (f != null) - freqs.add(f); - } - frequencies = freqs.toArray(new AltosFrequency[0]); - } + AltosJson json = AltosJson.fromString(backend.getString(frequenciesPreference, + null)); + frequencies = (AltosFrequency[]) json.make(frequencies.getClass()); } catch (Exception e) { - sets = null; } if (frequencies == null) { @@ -377,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(); } @@ -417,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; } }