Beispiel #1
0
        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);
        }
Beispiel #3
0
        // 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);
        }