* Also move add_monitor() call
Signed-off-by: Mike Beattie <mike@ethernal.org>
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothSocket;
+import android.os.Handler;
import android.util.Log;
import org.altusmetrum.AltosLib.*;
import android.util.Log;
import org.altusmetrum.AltosLib.*;
private ConnectThread connect_thread = null;
private Thread input_thread = null;
private ConnectThread connect_thread = null;
private Thread input_thread = null;
+ private Handler handler;
+
private BluetoothAdapter adapter;
private BluetoothDevice device;
private BluetoothSocket socket;
private BluetoothAdapter adapter;
private BluetoothDevice device;
private BluetoothSocket socket;
private OutputStream output;
// Constructor
private OutputStream output;
// Constructor
- public AltosBluetooth(BluetoothDevice in_device) {
+ public AltosBluetooth(BluetoothDevice in_device, Handler in_handler) {
adapter = BluetoothAdapter.getDefaultAdapter();
device = in_device;
adapter = BluetoothAdapter.getDefaultAdapter();
device = in_device;
connect_thread = new ConnectThread(device);
connect_thread.start();
connect_thread = new ConnectThread(device);
connect_thread.start();
//private NotificationManager mNM;
ArrayList<Messenger> mClients = new ArrayList<Messenger>(); // Keeps track of all current registered clients.
//private NotificationManager mNM;
ArrayList<Messenger> mClients = new ArrayList<Messenger>(); // Keeps track of all current registered clients.
- final Messenger mMessenger = new Messenger(new IncomingHandler()); // Target we publish for clients to send messages to IncomingHandler.
+ final Handler mHandler = new IncomingHandler(this);
+ final Messenger mMessenger = new Messenger(mHandler); // Target we publish for clients to send messages to IncomingHandler.
// Name of the connected device
private String mConnectedDeviceName = null;
// Name of the connected device
private String mConnectedDeviceName = null;
case MSG_CONNECTED:
if (D) Log.d(TAG, "Connected to device");
s.setState(STATE_CONNECTED);
case MSG_CONNECTED:
if (D) Log.d(TAG, "Connected to device");
s.setState(STATE_CONNECTED);
+ s.mAltosBluetooth.add_monitor(s.telem);
break;
default:
super.handleMessage(msg);
break;
default:
super.handleMessage(msg);
}
private void startAltosBluetooth(BluetoothDevice d) {
}
private void startAltosBluetooth(BluetoothDevice d) {
- mAltosBluetooth = new AltosBluetooth(d);
- mAltosBluetooth.add_monitor(telem);
+ mAltosBluetooth = new AltosBluetooth(d, mHandler);
setState(STATE_CONNECTING);
}
setState(STATE_CONNECTING);
}