internal void Start(Settings settings, CancellationToken token) { _Settings = settings; _Token = token; Task.Run(async () => await StartInternalAsync(), _Token); }
private async Task LoadSettingsAsync() { List<Exception> exceptions = new List<Exception>(); var correlationId = Guid.NewGuid(); try { await Log("Loading settings ...", correlationId); Settings = Util.GetObjectFromJson<Settings>(await FileIO.ReadTextAsync(await GetSettingsFile())); } catch (Exception ex) { Telemetry.TrackError(ex); exceptions.Add(ex); } if (Settings == null) { await Log("Settings do not exists, Initialising new settings ...", correlationId); try { Settings = new Settings(); } catch (Exception ex) { Telemetry.TrackError(ex); exceptions.Add(ex); } } if (Settings != null) { GetCredentials(); await Log("Settings loaded.", correlationId); Settings.PropertyChanged += Settings_PropertyChanged; } else { LogBackground("Failed to load settings", MessageStatus.Error, correlationId); exceptions.ForEach(ex => LogBackground(ex.Message, MessageStatus.Error)); } }
internal void Subscribe(BuildMonitor monitor, Settings settings) { monitor.RetrievingStatusStart += Monitor_RetrievingStatusStart; monitor.StatusChanged += Monitor_StatusChanged; _Settings = settings; }