Fix Latin-1 encoded copyright symbols in AltosDroid java code
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / AltosBluetooth.java
index 5a8ed096ff429f6e88b5ddf60006ebbe7fd24390..9fcc4eba68a2016419417b65133019c3a4bf76c0 100644 (file)
@@ -1,6 +1,6 @@
 /*
- * Copyright © 2011 Keith Packard <keithp@keithp.com>
- * Copyright © 2012 Mike Beattie <mike@ethernal.org>
+ * Copyright Â© 2011 Keith Packard <keithp@keithp.com>
+ * Copyright Â© 2012 Mike Beattie <mike@ethernal.org>
  *
  * 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
@@ -59,8 +59,6 @@ public class AltosBluetooth extends AltosLink {
                connect_thread = new ConnectThread(device);
                connect_thread.start();
 
-               input_thread = new Thread(this);
-               input_thread.start();
        }
 
        private class ConnectThread extends Thread {
@@ -108,20 +106,22 @@ public class AltosBluetooth extends AltosLink {
                                        return;
                                }
 
+                               input_thread = new Thread(AltosBluetooth.this);
+                               input_thread.start();
+
                                // Configure the newly connected device for telemetry
                                print("~\nE 0\n");
                                set_monitor(false);
 
-                               // Reset the ConnectThread because we're done
-                               connect_thread = null;
-
-                               // Send the device name back to the Telemetry Service
-                               name = device.getName();
+                               // Let TelemetryService know we're connected
                                handler.obtainMessage(TelemetryService.MSG_CONNECTED).sendToTarget();
 
                                // Notify other waiting threads, now that we're connected
                                AltosBluetooth.this.notifyAll();
 
+                               // Reset the ConnectThread because we're done
+                               connect_thread = null;
+
                                if (D) Log.d(TAG, "ConnectThread: Connect completed");
                        }
                }
@@ -143,7 +143,7 @@ public class AltosBluetooth extends AltosLink {
                }
        }
 
-       private void connection_failed() {
+       private void connection_lost() {
                if (D) Log.e(TAG, "Connection lost during I/O");
                handler.obtainMessage(TelemetryService.MSG_DISCONNECTED).sendToTarget();
        }
@@ -156,9 +156,9 @@ public class AltosBluetooth extends AltosLink {
                        output.write(bytes);
                        if (D) Log.d(TAG, "print(): Wrote bytes: '" + data.replace('\n', '\\') + "'");
                } catch (IOException e) {
-                       connection_failed();
+                       connection_lost();
                } catch (InterruptedException e) {
-                       connection_failed();
+                       connection_lost();
                }
        }
 
@@ -167,9 +167,9 @@ public class AltosBluetooth extends AltosLink {
                        wait_connected();
                        return input.read();
                } catch (IOException e) {
-                       connection_failed();
+                       connection_lost();
                } catch (java.lang.InterruptedException e) {
-                       connection_failed();
+                       connection_lost();
                }
                return AltosLink.ERROR;
        }
@@ -207,6 +207,13 @@ public class AltosBluetooth extends AltosLink {
        }
 
 
+       // We override this method so that we can add some debugging. Not 100% elegant, but more useful
+       // than debugging one char at a time above in getchar()!
+       public void add_reply(AltosLine line) throws InterruptedException {
+               if (D) Log.d(TAG, String.format("Got REPLY: %s", line.line));
+               super.add_reply(line);
+       }
+
        //public void flush_output() { super.flush_output(); }
 
        // Stubs of required methods when extending AltosLink