private void HandleStartRecordingCommand() { if (_recorder.IsRecording) { Log.Debug("Ignoring start recording command since recorder already running"); return; } if (!Settings.CalibrationDone) { Log.Debug("Ignoring start recording command since device is not calibrated"); return; } Log.Debug("Executing start recording command"); _sensors.StartSensing(); _recorder.Start(); //Ensure GPS information is refreshed before signaling recording OnPropertyChanged(() => LocationSensorStatus); SensorStatusUpdated.Raise(this); OnPropertyChanged(() => IsRecording); RecordingStatusUpdated.Raise(this); //Starting a new recording regenerates session information OnPropertyChanged(() => CurrentVehicleType); OnPropertyChanged(() => CurrentAnchorageType); OnPropertyChanged(() => TrackId); }
private void HandleStopRecordingCommand() { Log.Debug("Executing stop recording command"); _sensors.StopSensing(); _recorder.Stop(); OnPropertyChanged(() => IsRecording); RecordingStatusUpdated.Raise(this); }
public void Stop() { if (StopPlatform()) { IsRecording = false; RecordingStatusUpdated?.Invoke(this, EventArgs.Empty); StopWritingFile(); _timer.Change(Timeout.Infinite, Timeout.Infinite); } }
public void Start(string fileNameAddendum = null) { if (StartPlatform()) { IsRecording = true; RecordingStatusUpdated?.Invoke(this, EventArgs.Empty); _start = DateTime.Now; StartWritingFile(fileNameAddendum); _timer.Change(TimerInterval, TimerInterval); } }