diff --git a/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java
index cdf72601..1bc6c806 100644
--- a/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java
+++ b/android_app/app/src/main/java/com/health/openscale/gui/DataEntryActivity.java
@@ -20,6 +20,7 @@ import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.content.Context;
+import android.content.DialogInterface;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
@@ -453,6 +454,33 @@ public class DataEntryActivity extends Activity {
private class onClickListenerDelete implements View.OnClickListener {
@Override
public void onClick(View v) {
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext());
+ boolean deleteConfirmationEnable = prefs.getBoolean("deleteConfirmationEnable", true);
+
+ if (deleteConfirmationEnable) {
+ AlertDialog.Builder deleteAllDialog = new AlertDialog.Builder(v.getContext());
+ deleteAllDialog.setMessage(getResources().getString(R.string.question_really_delete));
+
+ deleteAllDialog.setPositiveButton(getResources().getString(R.string.label_yes), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ deleteMeasurement();
+ }
+ });
+
+ deleteAllDialog.setNegativeButton(getResources().getString(R.string.label_no), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.dismiss();
+ }
+ });
+
+ deleteAllDialog.show();
+ }
+ else {
+ deleteMeasurement();
+ }
+ }
+
+ void deleteMeasurement() {
long delId = id;
boolean hasNext = moveLeft();
diff --git a/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java
index 30efd84e..59d247f1 100644
--- a/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java
+++ b/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java
@@ -421,13 +421,42 @@ public class TableFragment extends Fragment implements FragmentUpdateListener {
}
private class onClickListenerDelete implements View.OnClickListener {
+ private long row_id;
+
@Override
public void onClick(View v) {
TableRow dataRow = (TableRow)v.getParent();
TextView idTextView = (TextView) dataRow.getChildAt(0);
- long id = Long.parseLong(idTextView.getText().toString());
+ row_id = Long.parseLong(idTextView.getText().toString());
- OpenScale.getInstance(tableView.getContext()).deleteScaleData(id);
+ SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext());
+ boolean deleteConfirmationEnable = prefs.getBoolean("deleteConfirmationEnable", true);
+
+ if (deleteConfirmationEnable) {
+ AlertDialog.Builder deleteAllDialog = new AlertDialog.Builder(getActivity());
+ deleteAllDialog.setMessage(getResources().getString(R.string.question_really_delete));
+
+ deleteAllDialog.setPositiveButton(getResources().getString(R.string.label_yes), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ deleteMeasurement();
+ }
+ });
+
+ deleteAllDialog.setNegativeButton(getResources().getString(R.string.label_no), new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.dismiss();
+ }
+ });
+
+ deleteAllDialog.show();
+ }
+ else {
+ deleteMeasurement();
+ }
+ }
+
+ public void deleteMeasurement() {
+ OpenScale.getInstance(tableView.getContext()).deleteScaleData(row_id);
Toast.makeText(tableView.getContext(), getResources().getString(R.string.info_data_deleted), Toast.LENGTH_SHORT).show();
updateOnView(OpenScale.getInstance(tableView.getContext()).getScaleDataList());
diff --git a/android_app/app/src/main/res/values-de/strings.xml b/android_app/app/src/main/res/values-de/strings.xml
index 682682f6..4c88fa11 100644
--- a/android_app/app/src/main/res/values-de/strings.xml
+++ b/android_app/app/src/main/res/values-de/strings.xml
@@ -111,4 +111,6 @@
Zeit
Wochentage
Messwerte
+ Löschbestätigung
+ Wollen Sie wirklich den Datenbankeintrag löschen?
\ No newline at end of file
diff --git a/android_app/app/src/main/res/values-ja/strings.xml b/android_app/app/src/main/res/values-ja/strings.xml
index cb6101e9..16ad6afe 100644
--- a/android_app/app/src/main/res/values-ja/strings.xml
+++ b/android_app/app/src/main/res/values-ja/strings.xml
@@ -111,4 +111,6 @@
時刻
平日
観測
+ 確認の削除
+ あなたは本当にレコードを削除しますか
\ No newline at end of file
diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml
index 05e38107..9d49d036 100644
--- a/android_app/app/src/main/res/values/strings.xml
+++ b/android_app/app/src/main/res/values/strings.xml
@@ -105,6 +105,7 @@
No user exists. Please create a new user in the settings.
Can\'t evaluate the value
+ Do you really want to delete database entry?
Do you really want to delete all database entries?
Do you really want to delete the user?
@@ -115,6 +116,8 @@
Label on data point
+ Delete confirmation
+
Reminder
Weekdays
Time
diff --git a/android_app/app/src/main/res/xml/measurement_preferences.xml b/android_app/app/src/main/res/xml/measurement_preferences.xml
index 08ab0487..3df4138d 100644
--- a/android_app/app/src/main/res/xml/measurement_preferences.xml
+++ b/android_app/app/src/main/res/xml/measurement_preferences.xml
@@ -5,4 +5,5 @@
+
\ No newline at end of file