private async void TryBecomeOnline() { _log.Info("Trying to switch to the online mode..."); _ui.SetInteractable(false); _ui.OfflineMode = !await TryFetchPrefixes(); _ui.SetInteractable(true); var state = _ui.OfflineMode ? "offline" : "online"; _log.Info($"Is {state} now!"); if (_profiles.IsEmpty) { foreach (var prefix in _versions.Prefixes) { var fullVersion = new FullVersionId(prefix.Id, IndexTool.VersionAliasLatest); try { _profiles.Create(prefix.About, new ProfileData { FullVersion = fullVersion }); if (!_profiles.Contains(_settings.Profile)) { _settings.Profile = prefix.About; } } catch (Exception e) { _log.Error("Can't create default profile: " + e.Message); } } _ui.SetProfiles(_profiles.Names, _settings.Profile); } else if (!_profiles.Contains(_settings.Profile)) { _settings.Profile = _profiles.Names[0]; _ui.SetProfiles(_profiles.Names, _settings.Profile); } if (_ui.OfflineMode) { _ui.ShowErrorMessage(_tr._("Failed to switch into online mode!")); } }