private async Task DriveRover(RoverDriverInstructions roverInstruction) { if (_settings.IsAddingCompleted && _baseUri != null && RoverConnection != RoverConnection.Trying_To_Connect) { Setting requiredSetting = GetSettingByID((int)roverInstruction); Uri instructionUri = null; if (requiredSetting != null) { try { instructionUri = new Uri(_baseUri, requiredSetting.SettingValue); await _httpClient.GetAsync(instructionUri); } catch (UriFormatException e) { _platformToast.ShowToast(e.Message); } catch (HttpRequestException) { _platformToast.ShowToast($"Request failed ({instructionUri.ToString()})"); } } } else if (_settings.IsAddingCompleted == false) { _platformToast.ShowToast("Still Loading Server Endpoints, Try Again."); } else if (RoverConnection == RoverConnection.Trying_To_Connect) { _platformToast.ShowToast("Cannot Drive - Trying to Connect to Rover"); } else if (_baseUri == null) { _platformToast.ShowToast("No base URL Found...is it in the Correct Format?"); } }