From 65e3d6bdfb2218feb4b3bf39b3b7cb930b495e22 Mon Sep 17 00:00:00 2001 From: M66B Date: Sun, 13 Mar 2022 11:37:29 +0100 Subject: [PATCH] Search: small behavior improvement --- .../java/eu/faircode/email/FragmentDialogSearch.java | 9 +++------ app/src/main/res/layout/dialog_search.xml | 2 +- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/eu/faircode/email/FragmentDialogSearch.java b/app/src/main/java/eu/faircode/email/FragmentDialogSearch.java index 8446062ec6..3d26bb7bd2 100644 --- a/app/src/main/java/eu/faircode/email/FragmentDialogSearch.java +++ b/app/src/main/java/eu/faircode/email/FragmentDialogSearch.java @@ -238,7 +238,6 @@ public class FragmentDialogSearch extends FragmentDialogBase { cbHtml.setVisibility(View.GONE); cbSearchTrash.setVisibility(View.GONE); cbSearchJunk.setVisibility(View.GONE); - cbSearchDevice.setVisibility(View.GONE); } else { ibMore.setImageLevel(0); grpMore.setVisibility(View.VISIBLE); @@ -250,8 +249,6 @@ public class FragmentDialogSearch extends FragmentDialogBase { cbSearchTrash.setVisibility(View.VISIBLE); cbSearchJunk.setVisibility(View.VISIBLE); } - if (account > 0 && folder > 0) - cbSearchDevice.setVisibility(View.VISIBLE); } } }; @@ -376,13 +373,13 @@ public class FragmentDialogSearch extends FragmentDialogBase { tvAfter.setText(null); tvBefore.setText(null); cbSearchDevice.setChecked(last_search_device); + cbSearchDevice.setEnabled(account > 0 && folder > 0); grpMore.setVisibility(View.GONE); cbHeaders.setVisibility(View.GONE); cbHtml.setVisibility(View.GONE); cbSearchTrash.setVisibility(View.GONE); cbSearchJunk.setVisibility(View.GONE); - cbSearchDevice.setVisibility(View.GONE); final AlertDialog dialog = new AlertDialog.Builder(context) .setView(dview) @@ -429,7 +426,7 @@ public class FragmentDialogSearch extends FragmentDialogBase { if (before != null) criteria.before = ((Calendar) before).getTimeInMillis(); - boolean device = (cbSearchDevice.isChecked() || account < 0 || folder < 0); + boolean device = (cbSearchDevice.isChecked() || !cbSearchDevice.isEnabled()); if (criteria.query != null) { List searches = new ArrayList<>(); @@ -527,7 +524,7 @@ public class FragmentDialogSearch extends FragmentDialogBase { else if (id == R.id.ibNotes) criteria.with_notes = true; - boolean device = (cbSearchDevice.isChecked() || account < 0 || folder < 0); + boolean device = (cbSearchDevice.isChecked() || !cbSearchDevice.isEnabled()); FragmentMessages.search( context, getViewLifecycleOwner(), getParentFragmentManager(), diff --git a/app/src/main/res/layout/dialog_search.xml b/app/src/main/res/layout/dialog_search.xml index 8fd7335b60..1721c734a8 100644 --- a/app/src/main/res/layout/dialog_search.xml +++ b/app/src/main/res/layout/dialog_search.xml @@ -559,6 +559,6 @@ app:constraint_referenced_ids=" cbSearchIndex,tvSearchIndexHint,cbSenders,cbRecipients,cbSubject,cbKeywords,cbMessage,tvSearchTextHint,tvSearchTextUnsupported,cbNotes, tvAnd,cbUnseen,cbFlagged,cbHidden,cbEncrypted,cbAttachments, - btnAfter,btnBefore,tvBefore,tvAfter" /> + btnAfter,btnBefore,tvBefore,tvAfter,cbSearchDevice" />