private async void OnButtonConnectClick(object sender, RoutedEventArgs e) { int index = listView.SelectedIndex; if ((index < 0) || (index >= m_deviceInfos.Count)) { return; } IDigitalInkDevice device = null; m_connectingDeviceInfo = m_deviceInfos[index]; btnConnect.IsEnabled = false; StopScanning(); try { device = await InkDeviceFactory.Instance.CreateDeviceAsync(m_connectingDeviceInfo, AppObjects.Instance.AppId, true, false, OnDeviceStatusChanged); } catch (Exception ex) { StringBuilder sb = new StringBuilder($"Device creation failed:\n{ex.Message}"); string indent = " "; for (Exception inner = ex.InnerException; inner != null; inner = inner.InnerException) { sb.Append($"\n{indent}{inner.Message}"); indent = indent + " "; } MessageBox.Show(sb.ToString()); } if (device == null) { m_connectingDeviceInfo = null; btnConnect.IsEnabled = true; StartScanning(); return; } AppObjects.Instance.DeviceInfo = m_connectingDeviceInfo; AppObjects.Instance.Device = device; m_connectingDeviceInfo = null; await AppObjects.SerializeDeviceInfoAsync(AppObjects.Instance.DeviceInfo); if (NavigationService.CanGoBack) { NavigationService.GoBack(); } }
private async void OnButtonConnectClick(object sender, RoutedEventArgs e) { int index = listView.SelectedIndex; if ((index < 0) || (index >= m_deviceInfos.Count)) { return; } IDigitalInkDevice device = null; m_connectingDeviceInfo = m_deviceInfos[index]; btnConnect.IsEnabled = false; StopScanning(); SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Collapsed; if (m_connectingDeviceInfo != null) { string msg = $"Initializing connection with device: \"{m_connectingDeviceInfo.DeviceName}\""; switch (m_connectingDeviceInfo.TransportProtocol) { case TransportProtocol.BLE: tbBle.Text = msg; break; case TransportProtocol.USB: tbUsb.Text = msg; break; case TransportProtocol.BTC: tbBtc.Text = msg; break; } } try { device = await InkDeviceFactory.Instance.CreateDeviceAsync(m_connectingDeviceInfo, AppObjects.Instance.AppId, true, false, OnDeviceStatusChanged); } catch (Exception ex) { string message = $"Device creation failed: {ex.Message}"; await new MessageDialog(message).ShowAsync(); } if (device == null) { SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; m_connectingDeviceInfo = null; btnConnect.IsEnabled = true; StartScanning(); return; } AppObjects.Instance.DeviceInfo = m_connectingDeviceInfo; AppObjects.Instance.Device = device; m_connectingDeviceInfo = null; await AppObjects.SerializeDeviceInfoAsync(AppObjects.Instance.DeviceInfo); if (Frame.CanGoBack) { Frame.GoBack(); } }