private async void ConnectDisconnectDevice(object sender, EventArgs e) { HttpResponseMessage result; if (isConnectedDeviceSelected) { result = await Services.WithingsService.DisconnectDeviceAsync(selectedDevice.Identifier.System, selectedDevice.Identifier.Value); } else { result = await Services.WithingsService.ConnectDeviceAsync(selectedDevice.Identifier.System, selectedDevice.Identifier.Value); } if (result.IsSuccessStatusCode) { List <object> connectedDevices = new List <object>(); List <object> disconnectedDevices = new List <object>(); var res = await Services.WithingsService.GetDevices(connectedDevices, disconnectedDevices); if (res == System.Net.HttpStatusCode.OK) { ConnectedDevices.Clear(); DisconnectedDevices.Clear(); ConnectedDevices = new ObservableCollection <object>(connectedDevices); DisconnectedDevices = new ObservableCollection <object>(disconnectedDevices); } else if (res == System.Net.HttpStatusCode.Conflict) { await DisplayAlert("Conflict", "Previous user delete operation is in progress. Please try again later", "Ok"); } else { await DisplayAlert("Error", "Something went wrong. Please try again", "Ok"); } } else { await DisplayAlert("Withing auth failed", "Something went wrong. Please try again", "Ok"); } OnAppearing(); if (result.IsSuccessStatusCode) { actionButton.IsEnabled = false; actionButton.Text = "Select Device"; selectedDevice.IsSelected = false; selectedDevice = null; deviceContentView.IsVisible = false; } if (Device.Idiom == TargetIdiom.Tablet) { actionButton.IsVisible = false; } }
private void ChannelWatcher_ClearDevices(object sender, System.EventArgs e) { AvailableChannels.Clear(); ConnectedDevices.Clear(); }