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); }