public void saveCurrentTrack() {
    app.getTaskManager()
        .runInBackground(
            new OsmAndTaskRunnable<Void, Void, Void>() {

              @Override
              protected void onPreExecute() {
                isSaving = true;
                if (monitoringControl != null) {
                  monitoringControl.updateInfo(null);
                }
              }

              @Override
              protected Void doInBackground(Void... params) {
                try {
                  SavingTrackHelper helper = app.getSavingTrackHelper();
                  helper.saveDataToGpx(app.getAppCustomization().getTracksDir());
                  helper.close();
                } finally {
                  app.getNotificationHelper().showNotification();
                }
                return null;
              }

              @Override
              protected void onPostExecute(Void aVoid) {
                isSaving = false;
                if (monitoringControl != null) {
                  monitoringControl.updateInfo(null);
                }
              }
            },
            (Void) null);
  }