public Task <Xamarin.ExposureNotifications.Configuration> GetConfigurationAsync() { Debug.Print("Fetching configuration"); return(Task.Run(async() => { Xamarin.ExposureNotifications.Configuration configuration = await exposureNotificationWebService.GetExposureConfiguration(); if (configuration == null) { throw new FailedToFetchConfigurationException("Aborting pull because configuration was not fetched from server. See corresponding server error log"); } string jsonConfiguration = JsonConvert.SerializeObject(configuration); ServiceLocator.Current.GetInstance <IDeveloperToolsService>().LastUsedConfiguration = $"Time used (UTC): {DateTime.UtcNow.ToGreGorianUtcString("yyyy-MM-dd HH:mm:ss")}\n{jsonConfiguration}"; return configuration; })); }
// Consider: Displaying the exposure configuration in the activities. public async Task <string> FetchExposureConfigurationAsync() { try { DailySummaryConfiguration dsc = await new ExposureNotificationHandler().GetDailySummaryConfigurationAsync(); string result = $"AttenuationThresholds: {ENConfArrayString(dsc.AttenuationThresholds)}\n " + $"AttenuationWeights: {ENConfDictionaryString(dsc.AttenuationWeights)} \n" + $"DaysSinceLastExposureThreshold: {dsc.DaysSinceLastExposureThreshold} \n" + $"DaysSinceOnsetInfectiousness: {ENConfDictionaryString(dsc.DaysSinceOnsetInfectiousness)} \n" + $"DefaultInfectiousness: {dsc.DefaultInfectiousness}\n" + $"DefaultReportType: {dsc.DefaultReportType}\n" + $"InfectiousnessWeights: {ENConfDictionaryString(dsc.InfectiousnessWeights)}\n" + $"ReportTypeWeights: {ENConfDictionaryString(dsc.ReportTypeWeights)}\n"; DevToolsOutput = result; } catch (InvalidOperationException) { EN.Configuration c = await new ExposureNotificationHandler().GetConfigurationAsync(); string result = $" AttenuationWeight: {c.AttenuationWeight}, Values: {ENConfArrayString(c.AttenuationScores)} \n" + $" DaysSinceLastExposureWeight: {c.DaysSinceLastExposureWeight}, Values: {ENConfArrayString(c.DaysSinceLastExposureScores)} \n" + $" DurationWeight: {c.DurationWeight}, Values: {ENConfArrayString(c.DurationScores)} \n" + $" TransmissionWeight: {c.TransmissionWeight}, Values: {ENConfArrayString(c.TransmissionRiskScores)} \n" + $" MinimumRiskScore: {c.MinimumRiskScore}" + $" DurationAtAttenuationThresholds: [{c.DurationAtAttenuationThresholds[0]},{c.DurationAtAttenuationThresholds[1]}]"; Debug.WriteLine("Exposure Configuration:"); Debug.WriteLine($" AttenuationWeight: {c.AttenuationWeight}, Values: {ENConfArrayString(c.AttenuationScores)}"); Debug.WriteLine($" DaysSinceLastExposureWeight: {c.DaysSinceLastExposureWeight}, Values: {ENConfArrayString(c.DaysSinceLastExposureScores)}"); Debug.WriteLine($" DurationWeight: {c.DurationWeight}, Values: {ENConfArrayString(c.DurationScores)}"); Debug.WriteLine($" TransmissionWeight: {c.TransmissionWeight}, Values: {ENConfArrayString(c.TransmissionRiskScores)}"); Debug.WriteLine($" MinimumRiskScore: {c.MinimumRiskScore}"); DevToolsOutput = result; } DevToolUpdateOutput?.Invoke(); await _clipboard.SetTextAsync(DevToolsOutput); return(DevToolsOutput); }
// Consider: Displaying the exposure configuration in the activities. public async Task <string> FetchExposureConfigurationAsync() { EN.Configuration c = await new ExposureNotificationHandler().GetConfigurationAsync(); string res = $" AttenuationWeight: {c.AttenuationWeight}, Values: {EnConfArrayString(c.AttenuationScores)} \n" + $" DaysSinceLastExposureWeight: {c.DaysSinceLastExposureWeight}, Values: {EnConfArrayString(c.DaysSinceLastExposureScores)} \n" + $" DurationWeight: {c.DurationWeight}, Values: {EnConfArrayString(c.DurationScores)} \n" + $" TransmissionWeight: {c.TransmissionWeight}, Values: {EnConfArrayString(c.TransmissionRiskScores)} \n" + $" MinimumRiskScore: {c.MinimumRiskScore}" + $" DurationAtAttenuationThresholds: [{c.DurationAtAttenuationThresholds[0]},{c.DurationAtAttenuationThresholds[1]}]"; Debug.WriteLine("Exposure Configuration:"); Debug.WriteLine($" AttenuationWeight: {c.AttenuationWeight}, Values: {EnConfArrayString(c.AttenuationScores)}"); Debug.WriteLine($" DaysSinceLastExposureWeight: {c.DaysSinceLastExposureWeight}, Values: {EnConfArrayString(c.DaysSinceLastExposureScores)}"); Debug.WriteLine($" DurationWeight: {c.DurationWeight}, Values: {EnConfArrayString(c.DurationScores)}"); Debug.WriteLine($" TransmissionWeight: {c.TransmissionWeight}, Values: {EnConfArrayString(c.TransmissionRiskScores)}"); Debug.WriteLine($" MinimumRiskScore: {c.MinimumRiskScore}"); DevToolsOutput = res; DevToolUpdateOutput?.Invoke(); await _clipboard.SetTextAsync(res); return(res); }