From 3e3d0006bce11fb1a1d76726846ace85275a6576 Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 20 Aug 2019 18:32:22 +0200 Subject: [PATCH] Added setting to permanently delete on discard --- .../java/eu/faircode/email/FragmentCompose.java | 3 ++- .../eu/faircode/email/FragmentOptionsBehavior.java | 12 +++++++++++- .../main/res/layout/fragment_options_behavior.xml | 13 ++++++++++++- app/src/main/res/values/strings.xml | 1 + 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentCompose.java b/app/src/main/java/eu/faircode/email/FragmentCompose.java index 07716a9daf..beac659cf2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentCompose.java +++ b/app/src/main/java/eu/faircode/email/FragmentCompose.java @@ -2480,8 +2480,9 @@ public class FragmentCompose extends FragmentBase { Log.i("Load action id=" + draft.id + " action=" + getActionName(action)); if (action == R.id.action_delete) { + boolean discard_delete = prefs.getBoolean("discard_delete", false); EntityFolder trash = db.folder().getFolderByType(draft.account, EntityFolder.TRASH); - if (empty || trash == null) + if (empty || trash == null || discard_delete) EntityOperation.queue(context, draft, EntityOperation.DELETE); else EntityOperation.queue(context, draft, EntityOperation.MOVE, trash.id); diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java index f1d53038f3..9385f9f0ee 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsBehavior.java @@ -49,12 +49,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe private SwitchCompat swCollapse; private SwitchCompat swAutoRead; private SwitchCompat swAutoMove; + private SwitchCompat swDiscardDelete; private SwitchCompat swAuthentication; private SwitchCompat swDisableTracking; private final static String[] RESET_OPTIONS = new String[]{ "pull", "autoscroll", "swipenav", "doubletap", "autoexpand", "autoclose", "onclose", - "collapse", "autoread", "automove", "authentication", "disable_tracking" + "collapse", "autoread", "automove", "discard_delete", "authentication", "disable_tracking" }; @Override @@ -77,6 +78,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe swCollapse = view.findViewById(R.id.swCollapse); swAutoRead = view.findViewById(R.id.swAutoRead); swAutoMove = view.findViewById(R.id.swAutoMove); + swDiscardDelete = view.findViewById(R.id.swDiscardDelete); swAuthentication = view.findViewById(R.id.swAuthentication); swDisableTracking = view.findViewById(R.id.swDisableTracking); @@ -167,6 +169,13 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe } }); + swDiscardDelete.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { + prefs.edit().putBoolean("discard_delete", checked).apply(); + } + }); + swAuthentication.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean checked) { @@ -246,6 +255,7 @@ public class FragmentOptionsBehavior extends FragmentBase implements SharedPrefe swCollapse.setChecked(prefs.getBoolean("collapse", false)); swAutoRead.setChecked(prefs.getBoolean("autoread", false)); swAutoMove.setChecked(!prefs.getBoolean("automove", false)); + swDiscardDelete.setChecked(prefs.getBoolean("discard_delete", false)); swAuthentication.setChecked(prefs.getBoolean("authentication", true)); swDisableTracking.setChecked(prefs.getBoolean("disable_tracking", true)); } diff --git a/app/src/main/res/layout/fragment_options_behavior.xml b/app/src/main/res/layout/fragment_options_behavior.xml index 96469f0189..29a236ff8d 100644 --- a/app/src/main/res/layout/fragment_options_behavior.xml +++ b/app/src/main/res/layout/fragment_options_behavior.xml @@ -179,6 +179,17 @@ app:layout_constraintTop_toBottomOf="@id/swAutoRead" app:switchPadding="12dp" /> + + On closing a conversation Automatically mark messages read on moving messages Confirm moving messages + On discard draft permanently delete draft Show a warning when the receiving server could not authenticate the message Automatically recognize and disable tracking images