private void IBleStack_DeviceUpdated(IBleStack sender, BleDeviceInformation device_info) { foreach (BleDeviceInformation ble_device_info in BleDevices) { if (ble_device_info.Id == device_info.Id) { ble_device_info.MacAddress = device_info.MacAddress; ble_device_info.IsConnectable = device_info.IsConnectable; ble_device_info.IsConnected = device_info.IsConnected; break; } } }
private void IBleStack_DeviceLost(IBleStack sender, BleDeviceInformation device_info) { int index = 0; foreach (BleDeviceInformation ble_device_info in BleDevices) { if (ble_device_info.Id == device_info.Id) { break; } else { index++; } } if (index < BleDevices.Count) { ExecuteOnMainThread.Invoke(() => { BleDevices.RemoveAt(index: index); }); } }
private void IBleStack_DeviceDiscovered(IBleStack sender, BleDeviceInformation device_info) { ExecuteOnMainThread.Invoke(() => { BleDevices.Add(device_info); }); }