Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TelemetryService.java
index 34c86ce5b56e31b5d7b5cc46409297811d2353f2..caf288a04b62864270650d3a6330270d78fae39a 100644 (file)
@@ -41,7 +41,7 @@ import android.os.Looper;
 import android.widget.Toast;
 import android.location.Criteria;
 
-import org.altusmetrum.altoslib_11.*;
+import org.altusmetrum.altoslib_12.*;
 
 public class TelemetryService extends Service implements AltosIdleMonitorListener {
 
@@ -259,14 +259,15 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
        private void telemetry(AltosTelemetry telem) {
                AltosState      state;
 
-               if (telemetry_state.states.containsKey(telem.serial))
-                       state = telemetry_state.states.get(telem.serial).clone();
+               if (telemetry_state.states.containsKey(telem.serial()))
+                       state = telemetry_state.states.get(telem.serial());
                else
-                       state = new AltosState();
-               telem.update_state(state);
-               telemetry_state.states.put(telem.serial, state);
+                       state = new AltosState(new AltosCalData());
+               telem.provide_data(state);
+               telemetry_state.states.put(telem.serial(), state);
+               telemetry_state.quiet = false;
                if (state != null) {
-                       AltosPreferences.set_state(state);
+                       AltosPreferences.set_state(state,telem.serial());
                }
                send_to_clients();
        }
@@ -615,6 +616,8 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
 
                telemetry_state.latest_serial = AltosPreferences.latest_state();
 
+               telemetry_state.quiet = true;
+
                AltosDebug.debug("latest serial %d\n", telemetry_state.latest_serial);
 
                for (int serial : serials) {
@@ -625,7 +628,7 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
 
                                AltosDebug.debug("recovered old state serial %d flight %d",
                                                 serial,
-                                                saved_state.flight);
+                                                saved_state.cal_data().flight);
                                if (saved_state.gps != null)
                                        AltosDebug.debug("\tposition %f,%f",
                                                         saved_state.gps.lat,
@@ -699,7 +702,7 @@ public class TelemetryService extends Service implements AltosIdleMonitorListene
 
        /* AltosIdleMonitorListener */
        public void update(AltosState state, AltosListenerState listener_state) {
-               telemetry_state.states.put(state.serial, state);
+               telemetry_state.states.put(state.cal_data().serial, state);
                telemetry_state.receiver_battery = listener_state.battery;
                send_to_clients();
        }