private void UpdateDeviceInfoCommand_Execute() { var newDevices = new List <IDevice>(DevicesFinder.FindAvailableDevices(DeviceCreatorsListBuilder.BuildDeviceCreatorsList())); if ((Settings.Instance.Device != null) && (Settings.Instance.Device.IsConnected)) { newDevices.Add(Settings.Instance.Device); if (!CompareDevicesList(newDevices, Devices)) { Devices = newDevices; SelectedDevice = Settings.Instance.Device; } } else { var buf = SelectedDevice?.ToString(); if (!CompareDevicesList(newDevices, Devices)) { Devices = newDevices; if (!string.IsNullOrEmpty(buf)) { SelectedDevice = Devices.FirstOrDefault(x => x.ToString() == buf); } } } IsConnected = Settings.Instance.Device == null ? false : Settings.Instance.Device.IsConnected; }