summaryrefslogtreecommitdiff
path: root/altosdroid/src
diff options
context:
space:
mode:
authorMike Beattie <mike@ethernal.org>2012-08-26 23:19:06 +1200
committerMike Beattie <mike@ethernal.org>2012-08-26 23:19:06 +1200
commit215d78f06093bd8a8b08a85cae0f1f34aee2a6ec (patch)
tree93c4cb002e18fcd563d656f7207edadba92d6f35 /altosdroid/src
parentfe6680dd3b4c31b3d4edc3f06a142f02bcb879df (diff)
altosdroid: begin adding state support
Signed-off-by: Mike Beattie <mike@ethernal.org>
Diffstat (limited to 'altosdroid/src')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java13
1 files changed, 12 insertions, 1 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
index cf7ae6da..6a23dca3 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
@@ -66,7 +66,7 @@ public class TelemetryService extends Service {
// Name of the connected device
private String mConnectedDeviceName = null;
private AltosBluetooth mAltosBluetooth = null;
-
+ private int state = STATE_NONE;
LinkedBlockingQueue<AltosLine> telem;
// Handler of incoming messages from clients.
@@ -92,6 +92,7 @@ public class TelemetryService extends Service {
break;
case MSG_CONNECTED:
if (D) Log.d(TAG, "Connected to device");
+ s.setState(STATE_CONNECTED);
break;
default:
super.handleMessage(msg);
@@ -100,6 +101,7 @@ public class TelemetryService extends Service {
}
private void stopAltosBluetooth() {
+ setState(STATE_READY);
if (mAltosBluetooth != null) {
mAltosBluetooth.close();
mAltosBluetooth = null;
@@ -110,6 +112,14 @@ public class TelemetryService extends Service {
private void startAltosBluetooth(BluetoothDevice d) {
mAltosBluetooth = new AltosBluetooth(d);
mAltosBluetooth.add_monitor(telem);
+ setState(STATE_CONNECTING);
+ }
+
+ private synchronized void setState(int s) {
+ if (D) Log.d(TAG, "setState() " + state + " -> " + s);
+ state = s;
+
+ sendMessageToClients(Message.obtain(null, AltosDroid.MSG_STATE_CHANGE, state, -1));
}
@Override
@@ -118,6 +128,7 @@ public class TelemetryService extends Service {
//mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
telem = new LinkedBlockingQueue<AltosLine>();
+ setState(STATE_READY);
}
@Override