public void stopSession() {
   tracker.stopTracking(getSession());
   locationHelper.stop();
   state.recording().stopRecording();
   notificationHelper.hideRecordingNotification();
   eventBus.post(new SessionStoppedEvent(getSession()));
 }
 public void stopSensors() {
   if (state.recording().isRecording()) {
     return;
   }
   locationHelper.stop();
   audioReader.stop();
   state.sensors().stop();
 }
 public void startSession(boolean locationLess) {
   setSession(new Session());
   locationHelper.start();
   startSensors();
   state.recording().startRecording();
   notificationHelper.showRecordingNotification();
   eventBus.post(new SessionStartedEvent(getSession()));
   tracker.startTracking(getSession(), locationLess);
 }
 private Location getLocation() {
   Location location = locationHelper.getLastLocation();
   if (session.isLocationless()) {
     location = new Location("fake");
     location.setLatitude(TOTALLY_FAKE_COORDINATE);
     location.setLongitude(TOTALLY_FAKE_COORDINATE);
   }
   return location;
 }
  public void startSensors() {
    if (!state.sensors().started()) {
      locationHelper.start();

      audioReader.start();
      externalSensors.start();
      state.sensors().start();
    }
  }
 private void cleanup() {
   locationHelper.stop();
   state.recording().stopRecording();
   setSession(new Session());
   notificationHelper.hideRecordingNotification();
 }
  public Note makeANote(Date date, String text, String picturePath) {
    Note note = new Note(date, text, locationHelper.getLastLocation(), picturePath);

    tracker.addNote(note);
    return note;
  }