From add808a2be47fc9244991f9b8ce757af5f3667fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=80lex=20Magaz=20Gra=C3=A7a?= Date: Sat, 2 Sep 2017 00:55:16 +0200 Subject: [PATCH] Require double confirmation for deleting all transactions The user must check a checkbox to enable the delete button. This tries to avoid confirming irreversible actions by mistake. Fixes https://github.com/codinguser/gnucash-android/issues/544 --- ...leteAllTransactionsConfirmationDialog.java | 21 +++---------------- 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/app/src/main/java/org/gnucash/android/ui/settings/dialog/DeleteAllTransactionsConfirmationDialog.java b/app/src/main/java/org/gnucash/android/ui/settings/dialog/DeleteAllTransactionsConfirmationDialog.java index 6b41f7a8b..0b37f0bd6 100644 --- a/app/src/main/java/org/gnucash/android/ui/settings/dialog/DeleteAllTransactionsConfirmationDialog.java +++ b/app/src/main/java/org/gnucash/android/ui/settings/dialog/DeleteAllTransactionsConfirmationDialog.java @@ -16,13 +16,11 @@ */ package org.gnucash.android.ui.settings.dialog; -import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.os.Bundle; import android.support.annotation.NonNull; -import android.support.v4.app.DialogFragment; import android.util.Log; import android.widget.Toast; @@ -44,7 +42,7 @@ * @author ngewif * @author Yongxin Wang */ -public class DeleteAllTransactionsConfirmationDialog extends DialogFragment { +public class DeleteAllTransactionsConfirmationDialog extends DoubleConfirmationDialog { public static DeleteAllTransactionsConfirmationDialog newInstance() { DeleteAllTransactionsConfirmationDialog frag = new DeleteAllTransactionsConfirmationDialog(); @@ -53,7 +51,7 @@ public static DeleteAllTransactionsConfirmationDialog newInstance() { @Override @NonNull public Dialog onCreateDialog(Bundle savedInstanceState) { - return new AlertDialog.Builder(getActivity()) + return getDialogBuilder() .setIcon(android.R.drawable.ic_delete) .setTitle(R.string.title_confirm_delete).setMessage(R.string.msg_delete_all_transactions_confirmation) .setPositiveButton(R.string.alert_dialog_ok_delete, @@ -80,19 +78,6 @@ public void onClick(DialogInterface dialog, int whichButton) { } } - ) - . - - setNegativeButton(R.string.alert_dialog_cancel, - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dismiss(); - } - } - - ) - . - - create(); + ).create(); } }