private async Task InitializeDevices() { try { var msg = "Start scan..."; _log.Log(msg); Footer = msg; var devices = await _service.GetDevices(); var message = $"Initialize {devices.Count} devices"; Footer = message; _log.Log(message); foreach (var device in devices) { msg = $"{device.DeviceInfo.DeviceAddress} found"; Footer = msg; _log.Log(msg); } ControlsEnabled = true; Devices = new ObservableCollection <Device>(devices); Count = Devices.Count; message = $"Watched devices count: {WatchedDevices.Count}"; _log.Log(message); Footer = message; var outOfRange = WatchedDevices.Except(Devices).ToList(); message = $"Watched devices count after filtering: {outOfRange.Count}"; _log.Log(message); Footer = message; foreach (var device in outOfRange) { _log.Log($"Device {device.DeviceName} is out of range"); } if (outOfRange.Count > 0) { _log.Log("Lock station"); _user32.LockWorkStation(); } } catch (PlatformNotSupportedException ex) { Footer = "Bluetooth is not supported"; ControlsEnabled = false; if (!_isWarningShown) { MessageBox.Show(ex.Message, "Error"); _isWarningShown = true; } } }
private void ExecuteRemoveWatch() { WatchedDevices.Clear(); }