public SensorMeasurementSessionService()
        {
            _repoManager = App.Container.Resolve <IRepoManager>();

            _sensorMeasurementSessionRepository = _repoManager.SensorMeasurementSessionRepository;
            _sensorMeasurementSession           = new SensorMeasurementSession();
        }
        public SensorManagerImplementation(IRepoManager repoManager, CMMotionManager motionManager, CLLocationManager locationManager, CMPedometer pedometer)
        {
            _repoManager     = repoManager ?? throw new ArgumentNullException(nameof(repoManager));
            _motionManager   = motionManager ?? throw new ArgumentNullException(nameof(motionManager));
            _locationManager = locationManager ?? throw new ArgumentNullException(nameof(locationManager));
            _pedometer       = pedometer ?? throw new ArgumentNullException(nameof(pedometer));

            _queue = new NSOperationQueue();

            _sensorMeasurementSessionRepository = _repoManager.SensorMeasurementSessionRepository;
            _accelerometerRepository            = _repoManager.AccelerometerRepository;
            _gyroscoperRepository         = _repoManager.GyroscopeRepository;
            _magnetometerRepository       = _repoManager.MagnetometerRepository;
            _linearAccelerationRepository = _repoManager.LinearAccelerationRepository;
            _orientationRepository        = _repoManager.OrientationRepository;
            _quaternionRepository         = _repoManager.QuaternionRepository;
            _gravityRepository            = _repoManager.GravityRepository;

            locationManager.DesiredAccuracy = CLLocation.AccuracyBest;
            locationManager.HeadingFilter   = 1;
            locationManager.AllowsBackgroundLocationUpdates = true;

            motionManager.DeviceMotionUpdateInterval  = 0.1;
            motionManager.AccelerometerUpdateInterval = 0.1;
            motionManager.GyroUpdateInterval          = 0.1;
            motionManager.MagnetometerUpdateInterval  = 0.1;
        }
Esempio n. 3
0
        private bool RemoveOldSensorMeasurementSessions()
        {
            ISensorMeasurementSessionRepository sensorMeasurementRepository = _repoManager.SensorMeasurementSessionRepository;

            return(sensorMeasurementRepository.RemoveRangeBeforeTimestamp(TimeKeeper.GetPreviousDone(UploadType.SensorMeasurementSession)));
        }