summaryrefslogtreecommitdiff
path: root/altosdroid/src
diff options
context:
space:
mode:
authorMike Beattie <mike@ethernal.org>2012-08-27 19:41:29 +1200
committerMike Beattie <mike@ethernal.org>2012-08-27 19:41:29 +1200
commit9a41508d92f95012a37bb75603e6e48a2c405204 (patch)
tree98ad31c54ea658bf4b92088bc73d44386a87f325 /altosdroid/src
parente121ec3ae634f41979717281a28af5e4a38e8f3a (diff)
altosdroid: Add Connected/Connect_failed messages
Signed-off-by: Mike Beattie <mike@ethernal.org>
Diffstat (limited to 'altosdroid/src')
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java2
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java10
2 files changed, 12 insertions, 0 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java
index bb188d80..19b2a2a5 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosBluetooth.java
@@ -103,6 +103,7 @@ public class AltosBluetooth extends AltosLink {
input = null;
output = null;
AltosBluetooth.this.notifyAll();
+ handler.obtainMessage(TelemetryService.MSG_CONNECT_FAILED).sendToTarget();
if (D) Log.e(TAG, "ConnectThread: Failed to establish connection");
return;
}
@@ -147,6 +148,7 @@ public class AltosBluetooth extends AltosLink {
private void connection_failed() {
if (D) Log.e(TAG, "Bluetooth Socket IO failed!");
+ handler.obtainMessage(TelemetryService.MSG_DISCONNECTED).sendToTarget();
}
public void print(String data) {
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
index e9254bad..ecafc74a 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/TelemetryService.java
@@ -47,6 +47,8 @@ public class TelemetryService extends Service {
static final int MSG_UNREGISTER_CLIENT = 2;
static final int MSG_CONNECT = 3;
static final int MSG_CONNECTED = 4;
+ static final int MSG_CONNECT_FAILED = 5;
+ static final int MSG_DISCONNECTED = 6;
public static final int STATE_NONE = 0;
public static final int STATE_READY = 1;
@@ -101,6 +103,14 @@ public class TelemetryService extends Service {
s.setState(STATE_CONNECTED);
s.mAltosBluetooth.add_monitor(s.telem);
break;
+ case MSG_CONNECT_FAILED:
+ if (D) Log.d(TAG, "Connection failed... retrying");
+ s.startAltosBluetooth();
+ break;
+ case MSG_DISCONNECTED:
+ if (D) Log.d(TAG, "Disconnected from " + s.device.getName());
+ s.stopAltosBluetooth();
+ break;
default:
super.handleMessage(msg);
}