/// <summary> /// Default constructor /// </summary> public BGattCallback() { Log.Debug(TAG, "Creating callback for LE Bluetooth Devices"); // Init lists notifyChars = new List <string>(); deviceDetails = new Dictionary <string, string>(); // Creating read timeout timer readTimer = new System.Timers.Timer(BluetoothConstants.LE_TIMEOUT); readTimer.AutoReset = true; // Setting the last change to be the minimum value lastChange = new DateTime(); lastChange = DateTime.MinValue; // Setting up the Receivers detailReceiver = new SensorReadingBroadcastReceiver(); IntentFilter fil = new IntentFilter(); fil.AddAction(AppUtil.SENSOR_READING_UPDATE_ACTION); fil.Priority = 100; Android.App.Application.Context.RegisterReceiver(detailReceiver, fil); updateReceiver = new SensorStateBroadcastReceiver(); fil = new IntentFilter(); fil.AddAction(AppUtil.SENSOR_CONNECT_ACTION); fil.AddAction(AppUtil.SENSOR_DISCONNECT_ACTION); fil.AddAction(AppUtil.SENSOR_REMOVED_ACTION); fil.Priority = 100; Android.App.Application.Context.RegisterReceiver(updateReceiver, fil); }
/// <summary> /// Initialize this instance. /// </summary> public void Initialize() { _adpt = BluetoothAdapter.DefaultAdapter; _addDeviceButton = (Button)myView.FindViewById(Resource.Id.addDevice); _addDeviceButton.Click += (sender, e) => buttonClick(sender, e); _connectedDevices = new List <string>(); _disconnectedDevices = new List <string>(); // Switch that controls whether messages are sent about this sensor _scanSwitch = (Switch)myView.FindViewById(Resource.Id.sensor_send_switch); _scanSwitch.CheckedChange += switchClick; // Broadcast res sensorReadingReceiver = new SensorReadingBroadcastReceiver(); sensorReadingReceiver.OnSensorReading += onNewReading; sensorStateReceiver = new SensorStateBroadcastReceiver(); sensorStateReceiver.SensorDisconnect += DisconnectSensor; sensorStateReceiver.SensorAdded += AddSensor; sensorStateReceiver.SensorRemoved += RemoveSensor; sensorStateReceiver.SensorReportingPaused += PauseSensor; sensorStateReceiver.SensorConnect += ConnectSensor; resetLiveView(); sentTimeUpdate = new System.Timers.Timer(); sentTimeUpdate.Interval = 1000 * 5; sentTimeUpdate.Elapsed += updateLastSent; sentTimeUpdate.AutoReset = true; _connectedDeviceMap = new Dictionary <string, bool>(); // broadcast receiver IntentFilter fil = new IntentFilter(); fil.AddAction(AppUtil.SENSOR_READING_UPDATE_ACTION); fil.Priority = 99; Android.App.Application.Context.RegisterReceiver(sensorReadingReceiver, fil); fil = new IntentFilter(); fil.AddAction(AppUtil.SENSOR_CONNECT_ACTION); fil.AddAction(AppUtil.SENSOR_DISCONNECT_ACTION); fil.AddAction(AppUtil.SENSOR_ADDED_ACTION); fil.AddAction(AppUtil.SENSOR_REMOVED_ACTION); fil.AddAction(AppUtil.SENSOR_PAUSE_ACTION); fil.Priority = 91; Android.App.Application.Context.RegisterReceiver(sensorStateReceiver, fil); }
/// <summary> /// Default Constructor. /// </summary> public LESensorService() { // Setting up adapter _adpt = BluetoothAdapter.DefaultAdapter; // Broadcast rec _sensorReadingReceiver = new SensorReadingBroadcastReceiver(); _sensorStateReceiver = new SensorStateBroadcastReceiver(); _sensorStateReceiver.SensorAdded += AddNewSensor; _sensorStateReceiver.SensorRemoved += RemoveSensor; _sensorStateReceiver.SensorReportingPaused += onReportingPaused; _sensorStateReceiver.SensorDisconnect += OnSensorDisconnect; // List of background workers sensorThreads = new Dictionary <string, BackgroundWorker>(); }