altos/test: Adjust CRC error rate after FEC fix
[fw/altos] / altoslib / AltosPreferences.java
index 51fc4205e6b79fa987376ee068cb5b80a30d7ac3..2fda9621e70c0fd09b3c4dc8ff278050a03ad936 100644 (file)
@@ -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
@@ -15,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_11;
+package org.altusmetrum.altoslib_14;
 
 import java.io.*;
 import java.util.*;
@@ -71,8 +72,8 @@ public class AltosPreferences {
        /* Launcher channel preference name */
        public final static String launcherChannelPreference = "LAUNCHER-CHANNEL";
 
-       /* Default logdir is ~/TeleMetrum */
-       public final static String logdirName = "TeleMetrum";
+       /* Default logdir is ~/AltusMetrum */
+       public final static String logdirName = "AltusMetrum";
 
        /* Log directory */
        public static File logdir;
@@ -138,7 +139,7 @@ public class AltosPreferences {
                try {
                        AltosJson json = AltosJson.fromString(backend.getString(frequenciesPreference,
                                                                                null));
-                       frequencies = (AltosFrequency[]) json.make(frequencies.getClass());
+                       frequencies = (AltosFrequency[]) json.make((new AltosFrequency[1]).getClass());
                } catch (Exception e) {
                }
 
@@ -362,11 +363,11 @@ public class AltosPreferences {
                }
        }
 
-       public static void set_state(AltosState state) {
+       public static void set_state(AltosState state, int serial) {
 
                synchronized(backend) {
-                       backend.putJson(String.format(statePreferenceFormat, state.serial), state.json());
-                       backend.putInt(statePreferenceLatest, state.serial);
+                       backend.putJson(String.format(statePreferenceFormat, serial), new AltosJson(state));
+                       backend.putInt(statePreferenceLatest, 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;
                }
        }