X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosdroid%2Fsrc%2Forg%2Faltusmetrum%2FAltosDroid%2FTelemetryService.java;h=63592e2999d26e2ae09b66bd5e4a59b7cb1df32a;hp=58bf8804513dbf787b0f3514fa3746099b7fa880;hb=57c1320962ad08d52e89d39bd5852f8d228dd872;hpb=06908e377b7b932bfe3f6dfc840a0a13340f32ce diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java index 58bf8804..63592e29 100644 --- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java +++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java @@ -43,7 +43,7 @@ import android.location.LocationManager; import android.location.LocationListener; import android.location.Criteria; -import org.altusmetrum.altoslib_7.*; +import org.altusmetrum.altoslib_10.*; public class TelemetryService extends Service implements LocationListener { @@ -199,13 +199,11 @@ public class TelemetryService extends Service implements LocationListener { * Messages from TelemetryReader */ case MSG_TELEMETRY: - AltosDebug.debug("MSG_TELEMETRY"); s.telemetry((AltosTelemetry) msg.obj); break; case MSG_CRC_ERROR: // forward crc error messages s.telemetry_state.crc_errors = (Integer) msg.obj; - AltosDebug.debug("MSG_CRC_ERROR"); s.send_to_clients(); break; default: @@ -226,7 +224,6 @@ public class TelemetryService extends Service implements LocationListener { telem.update_state(state); telemetry_state.states.put(telem.serial, state); if (state != null) { - AltosDebug.debug("Save state %d", telem.serial); AltosPreferences.set_state(telem.serial, state, null); } send_to_clients(); @@ -251,7 +248,7 @@ public class TelemetryService extends Service implements LocationListener { /* On connect, send the current state to the new client */ - send_to_client(client, message()); + send_to_client(client); /* If we've got an address from a previous session, then * go ahead and try to reconnect to the device @@ -278,9 +275,9 @@ public class TelemetryService extends Service implements LocationListener { } } - private void send_to_client(Messenger client, Message m) { + private void send_to_client(Messenger client) { + Message m = message(); try { - AltosDebug.debug("Send message to client %s", client.toString()); client.send(m); } catch (RemoteException e) { AltosDebug.error("Client %s disappeared", client.toString()); @@ -289,10 +286,8 @@ public class TelemetryService extends Service implements LocationListener { } private void send_to_clients() { - Message m = message(); - AltosDebug.debug("Send message to %d clients", clients.size()); for (Messenger client : clients) - send_to_client(client, m); + send_to_client(client); } private void disconnect(boolean notify) { @@ -375,7 +370,6 @@ public class TelemetryService extends Service implements LocationListener { if (altos_link != null) { try { double voltage = altos_link.monitor_battery(); - AltosDebug.debug("update receiver voltage %g\n", voltage); telemetry_state.receiver_battery = voltage; } catch (InterruptedException ie) { } @@ -519,7 +513,11 @@ public class TelemetryService extends Service implements LocationListener { // Move us into the foreground. startForeground(NOTIFICATION, notification); - if (intent != null) { + /* Start bluetooth if we don't have a connection already */ + if (intent != null && + (telemetry_state.connect == TelemetryState.CONNECT_NONE || + telemetry_state.connect == TelemetryState.CONNECT_DISCONNECTED)) + { String action = intent.getAction(); if (action.equals(AltosDroid.ACTION_BLUETOOTH)) {