diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index 03baeb5..76ed02d 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -275,7 +275,6 @@ if(key.equals(getString(R.string.hike_title_record_key))) { if(hikeHandler.isRecording()) { final ArrayList hikePoints = (ArrayList) hikeHandler.getPoints(); - if(hikePoints.size() < 2) return; LayoutInflater inflater = getLayoutInflater(); View hikeDialog = inflater.inflate(R.layout.hike_dialog, null, true); @@ -336,6 +335,13 @@ } } }) + .setNeutralButton(R.string.hike_save_discard, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + hikeHandler.resetRecording(); + view.setText(hikeEntries[position]); + } + }) .setNegativeButton(R.string.hike_save_cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { @@ -344,7 +350,12 @@ final AlertDialog saveHikeDialog = saveHikeBuilder.create(); saveHikeDialog.show(); final Button saveHikeDialogButton = saveHikeDialog.getButton(AlertDialog.BUTTON_POSITIVE); + Button discardHikeDialogButton = saveHikeDialog.getButton(AlertDialog.BUTTON_NEUTRAL); + Button keepHikeDialogButton = saveHikeDialog.getButton(AlertDialog.BUTTON_NEGATIVE); saveHikeDialogButton.setEnabled(false); + saveHikeDialogButton.setTextSize(12); + discardHikeDialogButton.setTextSize(12); + keepHikeDialogButton.setTextSize(12); input.addTextChangedListener(new TextWatcher() { @Override diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/HikeHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/HikeHandler.java index 42fad15..964d91d 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/handlers/HikeHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/handlers/HikeHandler.java @@ -61,8 +61,7 @@ return isRecording; } - public void startRecording() { - isRecording = true; + private void resetValues() { path.setPoints(new ArrayList()); time = 0; length = 0; @@ -72,11 +71,21 @@ geopoints = new ArrayList<>(); } + public void startRecording() { + isRecording = true; + resetValues(); + } + public void stopRecording() { isRecording = false; updateProperties(); } + public void resetRecording() { + stopRecording(); + resetValues(); + } + private void updateProperties() { if(!needsUpdate) return; needsUpdate = false; diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index 0cdff54..ac3a1dc 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -79,8 +79,9 @@ Nehme auf… Aufnahme stoppen Deine Wanderung speichern - Wanderung speichern + Speichern Weiter wandern + Verwerfen Möchtest du eine Wanderung aufnehmen? Damit wird eine neue Wanderung aufgenommen. Dabei werden deine Positionen aufgenommen und du kannst sie später abspeichern. Wanderung starten diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a548457..b2dfdf0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -81,8 +81,9 @@ Recording… Stop recording Save your hike - Save hike + Save Keep hiking + Discard Do you want to record a hike? This will record a new hike. From now on your locations will be recorded and you can save it afterwards. Start hike