altosdroid: Miscellaneous comments/debug/etc cleanup
[fw/altos] / altosdroid / src / org / altusmetrum / AltosDroid / TelemetryService.java
index 42198b6ba7c4d759df8fda1f52f86ccee1df7ac9..ccb04de03860e8905adace8fa6ee7b587d6bc3a3 100644 (file)
@@ -19,6 +19,7 @@ package org.altusmetrum.AltosDroid;
 
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
+import java.util.concurrent.TimeoutException;
 
 import android.app.Notification;
 //import android.app.NotificationManager;
@@ -69,6 +70,7 @@ public class TelemetryService extends Service {
        private AltosBluetooth mAltosBluetooth = null;
        private TelemetryReader mTelemetryReader = null;
 
+       // internally track state of bluetooth connection
        private int state = STATE_NONE;
 
        // Handler of incoming messages from clients.
@@ -131,9 +133,10 @@ public class TelemetryService extends Service {
        }
 
        private void stopAltosBluetooth() {
-               if (D) Log.i(TAG, "Stopping BT");
+               if (D) Log.d(TAG, "stopAltosBluetooth(): begin");
                setState(STATE_READY);
                if (mTelemetryReader != null) {
+                       if (D) Log.d(TAG, "stopAltosBluetooth(): stopping TelemetryReader");
                        mTelemetryReader.interrupt();
                        try {
                                mTelemetryReader.join();
@@ -142,7 +145,7 @@ public class TelemetryService extends Service {
                        mTelemetryReader = null;
                }
                if (mAltosBluetooth != null) {
-                       if (D) Log.i(TAG, "Closing AltosBluetooth");
+                       if (D) Log.d(TAG, "stopAltosBluetooth(): stopping AltosBluetooth");
                        mAltosBluetooth.close();
                        mAltosBluetooth = null;
                }
@@ -151,7 +154,7 @@ public class TelemetryService extends Service {
 
        private void startAltosBluetooth() {
                if (mAltosBluetooth == null) {
-                       if (D) Log.i(TAG, "Connecting to " + device.getName());
+                       if (D) Log.d(TAG, String.format("startAltosBluetooth(): Connecting to %s (%s)", device.getName(), device.getAddress()));
                        mAltosBluetooth = new AltosBluetooth(device, mHandler);
                        setState(STATE_CONNECTING);
                } else {
@@ -161,7 +164,7 @@ public class TelemetryService extends Service {
        }
 
        private synchronized void setState(int s) {
-               if (D) Log.d(TAG, "setState() " + state + " -> " + s);
+               if (D) Log.d(TAG, "setState(): " + state + " -> " + s);
                state = s;
 
                sendMessageToClients(Message.obtain(null, AltosDroid.MSG_STATE_CHANGE, state, -1));
@@ -170,6 +173,11 @@ public class TelemetryService extends Service {
        private void connected() {
                sendMessageToClients(Message.obtain(null, AltosDroid.MSG_DEVNAME, device.getName()));
                setState(STATE_CONNECTED);
+               try {
+                       sendMessageToClients(Message.obtain(null, AltosDroid.MSG_DEVCONFIG, mAltosBluetooth.config_data()));
+               } catch (InterruptedException e) {
+               } catch (TimeoutException e) {
+               }
                mTelemetryReader = new TelemetryReader(mAltosBluetooth, mHandler);
                mTelemetryReader.start();
        }