From c22c99943118e4c54c8cc96f8968dca0dc6aba9a Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 10 Oct 2021 15:23:25 +0200 Subject: [PATCH] Added selective resetting of questions --- CHANGELOG.md | 1 + app/src/main/assets/CHANGELOG.md | 1 + .../faircode/email/FragmentOptionsMisc.java | 27 ++++++-- .../res/drawable/twotone_restart_alt_24.xml | 13 ++++ .../res/layout/dialog_reset_questions.xml | 68 +++++++++++++++++++ .../main/res/layout/fragment_options_misc.xml | 2 +- app/src/main/res/values/strings.xml | 5 ++ metadata/en-US/changelogs/1757.txt | 1 + 8 files changed, 110 insertions(+), 8 deletions(-) create mode 100644 app/src/main/res/drawable/twotone_restart_alt_24.xml create mode 100644 app/src/main/res/layout/dialog_reset_questions.xml diff --git a/CHANGELOG.md b/CHANGELOG.md index 9db24d53de..bbdb60b321 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ * Added multiple select spam / block sender * Added conditional searching via search index +* Added selective resetting of questions * Small improvements and minor bug fixes * Updated translations diff --git a/app/src/main/assets/CHANGELOG.md b/app/src/main/assets/CHANGELOG.md index 9db24d53de..bbdb60b321 100644 --- a/app/src/main/assets/CHANGELOG.md +++ b/app/src/main/assets/CHANGELOG.md @@ -8,6 +8,7 @@ * Added multiple select spam / block sender * Added conditional searching via search index +* Added selective resetting of questions * Small improvements and minor bug fixes * Updated translations diff --git a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java index d4d923df6b..a0333eb947 100644 --- a/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java +++ b/app/src/main/java/eu/faircode/email/FragmentOptionsMisc.java @@ -50,6 +50,7 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; +import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.ImageButton; import android.widget.SeekBar; @@ -1044,21 +1045,33 @@ public class FragmentOptionsMisc extends FragmentBase implements SharedPreferenc private void onResetQuestions() { final Context context = getContext(); + View dview = LayoutInflater.from(context).inflate(R.layout.dialog_reset_questions, null); + final CheckBox cbGeneral = dview.findViewById(R.id.cbGeneral); + final CheckBox cbFull = dview.findViewById(R.id.cbFull); + final CheckBox cbImages = dview.findViewById(R.id.cbImages); + final CheckBox cbLinks = dview.findViewById(R.id.cbLinks); + new AlertDialog.Builder(context) - .setTitle(R.string.title_setup_reset_questions) + .setView(dview) .setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences.Editor editor = prefs.edit(); - for (String option : RESET_QUESTIONS) - editor.remove(option); + + if (cbGeneral.isChecked()) + for (String option : RESET_QUESTIONS) + editor.remove(option); + for (String key : prefs.getAll().keySet()) - if (key.startsWith("translated_") || - key.endsWith(".show_full") || - key.endsWith(".show_images") || - key.endsWith(".confirm_link")) + if ((key.startsWith("translated_") && cbGeneral.isChecked()) || + (key.endsWith(".show_full") && cbFull.isChecked()) || + (key.endsWith(".show_images") && cbImages.isChecked()) || + (key.endsWith(".confirm_link") && cbLinks.isChecked())) { + Log.i("Removing option=" + key); editor.remove(key); + } + editor.apply(); ToastEx.makeText(context, R.string.title_setup_done, Toast.LENGTH_LONG).show(); diff --git a/app/src/main/res/drawable/twotone_restart_alt_24.xml b/app/src/main/res/drawable/twotone_restart_alt_24.xml new file mode 100644 index 0000000000..2f9f24ca97 --- /dev/null +++ b/app/src/main/res/drawable/twotone_restart_alt_24.xml @@ -0,0 +1,13 @@ + + + + diff --git a/app/src/main/res/layout/dialog_reset_questions.xml b/app/src/main/res/layout/dialog_reset_questions.xml new file mode 100644 index 0000000000..3b16aa79d9 --- /dev/null +++ b/app/src/main/res/layout/dialog_reset_questions.xml @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_options_misc.xml b/app/src/main/res/layout/fragment_options_misc.xml index 99f377b2a1..5e23f9d4c6 100644 --- a/app/src/main/res/layout/fragment_options_misc.xml +++ b/app/src/main/res/layout/fragment_options_misc.xml @@ -420,7 +420,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="12dp" - android:drawableEnd="@drawable/twotone_close_24" + android:drawableEnd="@drawable/twotone_restart_alt_24" android:drawablePadding="6dp" android:text="@string/title_setup_reset_questions" app:layout_constraintStart_toStartOf="parent" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 23581ea86f..836dc008d6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -304,7 +304,12 @@ Options Restore defaults + Reset questions + General questions + Show original messages + Show images + Confirm links More advanced options diff --git a/metadata/en-US/changelogs/1757.txt b/metadata/en-US/changelogs/1757.txt index 9db24d53de..bbdb60b321 100644 --- a/metadata/en-US/changelogs/1757.txt +++ b/metadata/en-US/changelogs/1757.txt @@ -8,6 +8,7 @@ * Added multiple select spam / block sender * Added conditional searching via search index +* Added selective resetting of questions * Small improvements and minor bug fixes * Updated translations