From 7978af9226f7f64c3d186bfc58a94b03ea64dcaa Mon Sep 17 00:00:00 2001 From: M66B Date: Tue, 31 May 2022 09:52:11 +0200 Subject: [PATCH] Added quick action unread --- .../eu/faircode/email/FragmentMessages.java | 18 ++++++++++++++++ .../main/res/layout/dialog_quick_actions.xml | 15 ++++++++++++- app/src/main/res/layout/fragment_messages.xml | 21 ++++++++++++++++--- 3 files changed, 50 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentMessages.java b/app/src/main/java/eu/faircode/email/FragmentMessages.java index d50af4f4a7..9fb62a91eb 100644 --- a/app/src/main/java/eu/faircode/email/FragmentMessages.java +++ b/app/src/main/java/eu/faircode/email/FragmentMessages.java @@ -293,6 +293,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. private TextView tvSelectedCount; private CardView cardMore; private ImageButton ibBatchSeen; + private ImageButton ibBatchUnseen; private ImageButton ibBatchSnooze; private ImageButton ibBatchHide; private ImageButton ibBatchFlag; @@ -571,6 +572,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. tvSelectedCount = view.findViewById(R.id.tvSelectedCount); cardMore = view.findViewById(R.id.cardMore); ibBatchSeen = view.findViewById(R.id.ibBatchSeen); + ibBatchUnseen = view.findViewById(R.id.ibBatchUnseen); ibBatchSnooze = view.findViewById(R.id.ibBatchSnooze); ibBatchHide = view.findViewById(R.id.ibBatchHide); ibBatchFlag = view.findViewById(R.id.ibBatchFlag); @@ -1315,6 +1317,13 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. } }); + ibBatchUnseen.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + onActionSeenSelection(false, null, true); + } + }); + ibBatchSnooze.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { @@ -5850,6 +5859,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. protected void onExecuted(Bundle args, MoreResult result) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); boolean more_seen = prefs.getBoolean("more_seen", true); + boolean more_unseen = prefs.getBoolean("more_unseen", false); boolean more_snooze = prefs.getBoolean("more_snooze", false); boolean more_hide = prefs.getBoolean("more_hide", false); boolean more_flag = prefs.getBoolean("more_flag", false); @@ -5905,11 +5915,16 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. if (snooze) count++; + boolean unseen = (more_unseen && count < MAX_QUICK_ACTIONS && result.seen); + if (unseen) + count++; + boolean seen = (more_seen && count < MAX_QUICK_ACTIONS && result.unseen); if (seen) count++; ibBatchSeen.setVisibility(seen ? View.VISIBLE : View.GONE); + ibBatchUnseen.setVisibility(unseen ? View.VISIBLE : View.GONE); ibBatchSnooze.setVisibility(snooze ? View.VISIBLE : View.GONE); ibBatchHide.setVisibility(hide ? View.VISIBLE : View.GONE); ibBatchFlag.setVisibility(flag ? View.VISIBLE : View.GONE); @@ -10269,6 +10284,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. final View dview = LayoutInflater.from(context).inflate(R.layout.dialog_quick_actions, null); final TextView tvHint = dview.findViewById(R.id.tvHint); final CheckBox cbSeen = dview.findViewById(R.id.cbSeen); + final CheckBox cbUnseen = dview.findViewById(R.id.cbUnseen); final CheckBox cbSnooze = dview.findViewById(R.id.cbSnooze); final CheckBox cbHide = dview.findViewById(R.id.cbHide); final CheckBox cbFlag = dview.findViewById(R.id.cbFlag); @@ -10282,6 +10298,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. tvHint.setText(getString(R.string.title_quick_actions_hint, MAX_QUICK_ACTIONS)); cbSeen.setChecked(prefs.getBoolean("more_seen", true)); + cbUnseen.setChecked(prefs.getBoolean("more_unseen", false)); cbSnooze.setChecked(prefs.getBoolean("more_snooze", false)); cbHide.setChecked(prefs.getBoolean("more_hide", false)); cbFlag.setChecked(prefs.getBoolean("more_flag", false)); @@ -10300,6 +10317,7 @@ public class FragmentMessages extends FragmentBase implements SharedPreferences. public void onClick(DialogInterface dialog, int which) { SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("more_seen", cbSeen.isChecked()); + editor.putBoolean("more_unseen", cbUnseen.isChecked()); editor.putBoolean("more_snooze", cbSnooze.isChecked()); editor.putBoolean("more_hide", cbHide.isChecked()); editor.putBoolean("more_flag", cbFlag.isChecked()); diff --git a/app/src/main/res/layout/dialog_quick_actions.xml b/app/src/main/res/layout/dialog_quick_actions.xml index c69126ff28..536e658385 100644 --- a/app/src/main/res/layout/dialog_quick_actions.xml +++ b/app/src/main/res/layout/dialog_quick_actions.xml @@ -44,6 +44,19 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tvHint" /> + + + app:layout_constraintTop_toBottomOf="@id/cbUnseen" /> + +