X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosPreferences.java;h=569aaa5481f863f9e8558fe8207aaff0f8ef89f1;hb=1dce20f7eee56166ac61798ca26eeb323dc8f012;hp=3f8e7a070a98715ab0749a80a35a4c1b32250e85;hpb=b1a90adac9f6e2a609ce1ccd6749462bb5c9adbe;p=fw%2Faltos diff --git a/altoslib/AltosPreferences.java b/altoslib/AltosPreferences.java index 3f8e7a07..569aaa54 100644 --- a/altoslib/AltosPreferences.java +++ b/altoslib/AltosPreferences.java @@ -133,19 +133,13 @@ public class AltosPreferences { static int map_type; public static AltosFrequency[] load_common_frequencies() { - AltosFrequency[] frequencies = null; - AltosHashSet[] sets = AltosHashSet.array(backend.getString(frequenciesPreference,null)); - if (sets != null) { - ArrayList freqs = new ArrayList(); - - for (int i = 0; i < sets.length; i++) { - AltosFrequency f = AltosFrequency.fromHashSet(sets[i], null); - if (f != null) - freqs.add(f); - } - frequencies = freqs.toArray(new AltosFrequency[0]); + try { + AltosJson json = AltosJson.fromString(backend.getString(frequenciesPreference, + null)); + frequencies = (AltosFrequency[]) json.make(frequencies.getClass()); + } catch (Exception e) { } if (frequencies == null) { @@ -178,10 +172,8 @@ public class AltosPreferences { } public static void save_common_frequencies() { - AltosHashSet[] sets = new AltosHashSet[common_frequencies.length]; - for (int i = 0; i < sets.length; i++) - sets[i] = common_frequencies[i].hashSet(); - backend.putString(frequenciesPreference, AltosHashSet.toString(sets)); + AltosJson json = new AltosJson(common_frequencies); + backend.putString(frequenciesPreference, json.toString()); flush_preferences(); } @@ -373,7 +365,7 @@ public class AltosPreferences { public static void set_state(AltosState state) { synchronized(backend) { - backend.putHashSet(String.format(statePreferenceFormat, state.serial), state.hashSet()); + backend.putJson(String.format(statePreferenceFormat, state.serial), new AltosJson(state)); backend.putInt(statePreferenceLatest, state.serial); flush_preferences(); } @@ -413,10 +405,12 @@ public class AltosPreferences { public static AltosState state(int serial) { synchronized(backend) { try { - return AltosState.fromHashSet(backend.getHashSet(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; } }