Esempio n. 1
0
 public ExposureDetectionService
 (
     ILoggerService loggerService,
     IUserDataRepository userDataRepository,
     IExposureDataRepository exposureDataRepository,
     ILocalNotificationService localNotificationService,
     IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
     IExposureRiskCalculationService exposureRiskCalculationService,
     IExposureConfigurationRepository exposureConfigurationRepository,
     IEventLogService eventLogService,
     IDebugExposureDataCollectServer exposureDataCollectServer,
     IDateTimeUtility dateTimeUtility,
     IDeviceInfoUtility deviceInfoUtility
 )
 {
     _loggerService                  = loggerService;
     _userDataRepository             = userDataRepository;
     _exposureDataRepository         = exposureDataRepository;
     _localNotificationService       = localNotificationService;
     _exposureRiskCalculationService = exposureRiskCalculationService;
     _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
     _exposureConfigurationRepository = exposureConfigurationRepository;
     _eventLogService           = eventLogService;
     _exposureDataCollectServer = exposureDataCollectServer;
     _dateTimeUtility           = dateTimeUtility;
     _deviceInfoUtility         = deviceInfoUtility;
 }
Esempio n. 2
0
        public HomePageViewModel(
            INavigationService navigationService,
            ILoggerService loggerService,
            IUserDataRepository userDataRepository,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            AbsExposureNotificationApiService exposureNotificationApiService,
            ILocalNotificationService localNotificationService,
            AbsExposureDetectionBackgroundService exposureDetectionBackgroundService,
            IExposureConfigurationRepository exposureConfigurationRepository,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
            ICheckVersionService checkVersionService,
            IEssentialsService essentialsService,
            IDialogService dialogService,
            IExternalNavigationService externalNavigationService
            ) : base(navigationService)
        {
            Title = AppResources.HomePageTitle;

            this.loggerService                                  = loggerService;
            this._userDataRepository                            = userDataRepository;
            this._exposureDataRepository                        = exposureDataRepository;
            this._exposureRiskCalculationService                = exposureRiskCalculationService;
            this.exposureNotificationApiService                 = exposureNotificationApiService;
            this.localNotificationService                       = localNotificationService;
            this.exposureDetectionBackgroundService             = exposureDetectionBackgroundService;
            this.exposureConfigurationRepository                = exposureConfigurationRepository;
            this.exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
            this.checkVersionService                            = checkVersionService;
            this.essentialsService                              = essentialsService;
            this.dialogService                                  = dialogService;
            this.externalNavigationService                      = externalNavigationService;
        }
        public ExposureCheckPageViewModel(
            INavigationService navigationService,
            ILoggerService loggerService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            ILocalPathService localPathService,
            IExposureDataExportService exposureDataExportService,
            IUserDataRepository userDataRepository,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
            IDateTimeUtility dateTimeUtility
            ) : base(navigationService)
        {
            _loggerService                  = loggerService;
            _exposureDataRepository         = exposureDataRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;
            _localPathService               = localPathService;
            _exposureDataExportService      = exposureDataExportService;
            _userDataRepository             = userDataRepository;
            _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
            _dateTimeUtility = dateTimeUtility;

            ExposureCheckScores = new ObservableCollection <ExposureCheckScoreModel>();
            UtcDescription      = string.Format(
                AppResources.LowRiskContactPageAnnotationDecription2,
                TimeZoneInfo.Local.StandardName
                );
        }
Esempio n. 4
0
        public void RiskExposureTest_AND2()
        {
            var configuration = new V1ExposureRiskCalculationConfiguration()
            {
                DailySummary_DaySummary_ScoreSum = new V1ExposureRiskCalculationConfiguration.Threshold()
                {
                    Op    = V1ExposureRiskCalculationConfiguration.Threshold.OPERATION_GREATER_EQUAL,
                    Value = 1170.0
                },
                ExposureWindow_ScanInstance_SecondsSinceLastScanSum = new V1ExposureRiskCalculationConfiguration.Threshold()
                {
                    Op    = V1ExposureRiskCalculationConfiguration.Threshold.OPERATION_GREATER_EQUAL,
                    Value = 900.0
                },
            };

            var dailySummary = new DailySummary()
            {
                DateMillisSinceEpoch = 0,
                DaySummary           = new ExposureSummaryData()
                {
                    ScoreSum = 1170.0
                },
                ConfirmedClinicalDiagnosisSummary = new ExposureSummaryData(),
                ConfirmedTestSummary = new ExposureSummaryData(),
                RecursiveSummary     = new ExposureSummaryData(),
                SelfReportedSummary  = new ExposureSummaryData()
            };

            var exposureWindows = new List <ExposureWindow>()
            {
                new ExposureWindow()
                {
                    CalibrationConfidence = CalibrationConfidence.High,
                    DateMillisSinceEpoch  = 0,
                    Infectiousness        = Infectiousness.High,
                    ReportType            = ReportType.Unknown,
                    ScanInstances         = new List <ScanInstance>()
                    {
                        new ScanInstance()
                        {
                            SecondsSinceLastScan = 600,
                            TypicalAttenuationDb = 1
                        },
                        new ScanInstance()
                        {
                            SecondsSinceLastScan = 240,
                            TypicalAttenuationDb = 10
                        }
                    }
                }
            };

            IExposureRiskCalculationService service = CreateService();

            RiskLevel result = service.CalcRiskLevel(dailySummary, exposureWindows, configuration);

            Assert.Equal(RiskLevel.Low, result);
        }
Esempio n. 5
0
        public ExposureCheckPageViewModel(
            INavigationService navigationService,
            ILoggerService loggerService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationService exposureRiskCalculationService
            ) : base(navigationService)
        {
            _loggerService                  = loggerService;
            _exposureDataRepository         = exposureDataRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;

            ExposureCheckScores = new ObservableCollection <ExposureCheckScoreModel>();
        }
        public ContactedNotifyPageViewModel(
            INavigationService navigationService,
            ILoggerService loggerService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository) : base(navigationService)
        {
            this.loggerService              = loggerService;
            _exposureDataRepository         = exposureDataRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;
            _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;

            Title = AppResources.TitileUserStatusSettings;
        }
Esempio n. 7
0
        public void RiskExposureTest_AllNOP()
        {
            var configuration = new V1ExposureRiskCalculationConfiguration()
            {
                // All conditions are NOP
            };

            var dailySummary = new DailySummary()
            {
                DateMillisSinceEpoch = 0,
                DaySummary           = new ExposureSummaryData()
                {
                    ScoreSum = 2000.0
                },
                ConfirmedClinicalDiagnosisSummary = new ExposureSummaryData(),
                ConfirmedTestSummary = new ExposureSummaryData(),
                RecursiveSummary     = new ExposureSummaryData(),
                SelfReportedSummary  = new ExposureSummaryData()
            };

            var exposureWindows = new List <ExposureWindow>()
            {
                new ExposureWindow()
                {
                    CalibrationConfidence = CalibrationConfidence.High,
                    DateMillisSinceEpoch  = 0,
                    Infectiousness        = Infectiousness.High,
                    ReportType            = ReportType.Unknown,
                    ScanInstances         = new List <ScanInstance>()
                    {
                        new ScanInstance()
                        {
                            SecondsSinceLastScan = 600,
                            TypicalAttenuationDb = 1
                        },
                        new ScanInstance()
                        {
                            SecondsSinceLastScan = 600,
                            TypicalAttenuationDb = 10
                        }
                    }
                }
            };

            IExposureRiskCalculationService service = CreateService();

            RiskLevel result = service.CalcRiskLevel(dailySummary, exposureWindows, configuration);

            Assert.Equal(RiskLevel.Low, result);
        }
Esempio n. 8
0
        public ExposuresPageViewModel(
            INavigationService navigationService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            ILoggerService loggerService
            ) : base(navigationService)
        {
            _exposureDataRepository = exposureDataRepository;
            _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;
            _loggerService = loggerService;

            Title     = AppResources.MainExposures;
            Exposures = new ObservableCollection <ExposureSummary>();
        }
        public ExposureCheckPageViewModel(
            INavigationService navigationService,
            ILoggerService loggerService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            IUserDataRepository userDataRepository,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
            IDateTimeUtility dateTimeUtility
            ) : base(navigationService)
        {
            _loggerService                  = loggerService;
            _exposureDataRepository         = exposureDataRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;
            _userDataRepository             = userDataRepository;
            _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
            _dateTimeUtility = dateTimeUtility;

            ExposureCheckScores = new ObservableCollection <ExposureCheckScoreModel>();
        }
Esempio n. 10
0
        public void RiskExposureTest(string scoreSumOp, double scoreSumValue, double scoreSum, RiskLevel expected)
        {
            var configuration = new V1ExposureRiskCalculationConfiguration()
            {
                DailySummary_DaySummary_ScoreSum = new V1ExposureRiskCalculationConfiguration.Threshold()
                {
                    Op    = scoreSumOp,
                    Value = scoreSumValue
                }
            };

            var dailySummary = new DailySummary()
            {
                DateMillisSinceEpoch = 0,
                DaySummary           = new ExposureSummaryData()
                {
                    ScoreSum = scoreSum
                },
                ConfirmedClinicalDiagnosisSummary = new ExposureSummaryData(),
                ConfirmedTestSummary = new ExposureSummaryData(),
                RecursiveSummary     = new ExposureSummaryData(),
                SelfReportedSummary  = new ExposureSummaryData()
            };

            var exposureWindows = new List <ExposureWindow>()
            {
                new ExposureWindow()
                {
                    CalibrationConfidence = CalibrationConfidence.High,
                    DateMillisSinceEpoch  = 0,
                    Infectiousness        = Infectiousness.High,
                    ReportType            = ReportType.Unknown,
                    ScanInstances         = new List <ScanInstance>()
                }
            };

            IExposureRiskCalculationService service = CreateService();

            RiskLevel result = service.CalcRiskLevel(dailySummary, exposureWindows, configuration);

            Assert.Equal(expected, result);
        }
Esempio n. 11
0
 public ExposureDetectionService
 (
     ILoggerService loggerService,
     ISendEventLogStateRepository sendEventLogStateRepository,
     IExposureDataRepository exposureDataRepository,
     ILocalNotificationService localNotificationService,
     IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
     IExposureRiskCalculationService exposureRiskCalculationService,
     IExposureConfigurationRepository exposureConfigurationRepository,
     IEventLogRepository eventLogRepository,
     IDateTimeUtility dateTimeUtility
 )
 {
     _loggerService = loggerService;
     _sendEventLogStateRepository    = sendEventLogStateRepository;
     _exposureDataRepository         = exposureDataRepository;
     _localNotificationService       = localNotificationService;
     _exposureRiskCalculationService = exposureRiskCalculationService;
     _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
     _exposureConfigurationRepository = exposureConfigurationRepository;
     _eventLogRepository = eventLogRepository;
     _dateTimeUtility    = dateTimeUtility;
 }
Esempio n. 12
0
        public ExposuresPageViewModel(
            INavigationService navigationService,
            IExposureDataRepository exposureDataRepository,
            IExposureRiskCalculationConfigurationRepository exposureRiskCalculationConfigurationRepository,
            IExposureRiskCalculationService exposureRiskCalculationService,
            ILocalPathService localPathService,
            IExposureDataExportService exposureDataExportService,
            ILoggerService loggerService
            ) : base(navigationService)
        {
            _exposureDataRepository = exposureDataRepository;
            _exposureRiskCalculationConfigurationRepository = exposureRiskCalculationConfigurationRepository;
            _exposureRiskCalculationService = exposureRiskCalculationService;
            _localPathService          = localPathService;
            _exposureDataExportService = exposureDataExportService;
            _loggerService             = loggerService;

            Title          = AppResources.MainExposures;
            Exposures      = new ObservableCollection <ExposureSummary>();
            UtcDescription = string.Format(
                AppResources.ExposuresPageToUtcDescription,
                TimeZoneInfo.Local.StandardName
                );
        }