mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-08 01:53:25 +02:00
Added search in html (debug version only)
This commit is contained in:
@@ -455,6 +455,7 @@ public class AdapterFolder extends RecyclerView.Adapter<AdapterFolder.ViewHolder
|
||||
criteria.in_message = false;
|
||||
criteria.in_notes = false;
|
||||
criteria.in_headers = false;
|
||||
criteria.in_html = false;
|
||||
criteria.with_flagged = true;
|
||||
FragmentMessages.search(
|
||||
context, owner, parentFragment.getParentFragmentManager(),
|
||||
|
||||
@@ -305,15 +305,19 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
|
||||
boolean matched = (match.matched != null && match.matched);
|
||||
|
||||
if (query != null) {
|
||||
if (!matched && criteria.in_message)
|
||||
if (!matched && (criteria.in_message || criteria.in_html))
|
||||
try {
|
||||
File file = EntityMessage.getFile(context, match.id);
|
||||
if (file.exists()) {
|
||||
String html = Helper.readText(file);
|
||||
if (html.toLowerCase().contains(query)) {
|
||||
String text = HtmlHelper.getFullText(html);
|
||||
if (text != null && text.toLowerCase().contains(query))
|
||||
if (criteria.in_html)
|
||||
matched = true;
|
||||
else {
|
||||
String text = HtmlHelper.getFullText(html);
|
||||
if (text != null && text.toLowerCase().contains(query))
|
||||
matched = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (IOException ex) {
|
||||
@@ -677,6 +681,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
|
||||
boolean in_message = true;
|
||||
boolean in_notes = true;
|
||||
boolean in_headers = false;
|
||||
boolean in_html = false;
|
||||
boolean with_unseen;
|
||||
boolean with_flagged;
|
||||
boolean with_hidden;
|
||||
@@ -871,6 +876,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
|
||||
this.in_message == other.in_message &&
|
||||
this.in_notes == other.in_notes &&
|
||||
this.in_headers == other.in_headers &&
|
||||
this.in_html == other.in_html &&
|
||||
this.with_unseen == other.with_unseen &&
|
||||
this.with_flagged == other.with_flagged &&
|
||||
this.with_hidden == other.with_hidden &&
|
||||
@@ -897,6 +903,7 @@ public class BoundaryCallbackMessages extends PagedList.BoundaryCallback<TupleMe
|
||||
" message=" + in_message +
|
||||
" notes=" + in_notes +
|
||||
" headers=" + in_headers +
|
||||
" html=" + in_html +
|
||||
" unseen=" + with_unseen +
|
||||
" flagged=" + with_flagged +
|
||||
" hidden=" + with_hidden +
|
||||
|
||||
@@ -100,6 +100,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
|
||||
final CheckBox cbMessage = dview.findViewById(R.id.cbMessage);
|
||||
final CheckBox cbNotes = dview.findViewById(R.id.cbNotes);
|
||||
final CheckBox cbHeaders = dview.findViewById(R.id.cbHeaders);
|
||||
final CheckBox cbHtml = dview.findViewById(R.id.cbHtml);
|
||||
final CheckBox cbUnseen = dview.findViewById(R.id.cbUnseen);
|
||||
final CheckBox cbFlagged = dview.findViewById(R.id.cbFlagged);
|
||||
final CheckBox cbHidden = dview.findViewById(R.id.cbHidden);
|
||||
@@ -200,11 +201,14 @@ public class FragmentDialogSearch extends FragmentDialogBase {
|
||||
ibMore.setImageLevel(1);
|
||||
grpMore.setVisibility(View.GONE);
|
||||
cbHeaders.setVisibility(View.GONE);
|
||||
cbHtml.setVisibility(View.GONE);
|
||||
} else {
|
||||
ibMore.setImageLevel(0);
|
||||
grpMore.setVisibility(View.VISIBLE);
|
||||
if (BuildConfig.DEBUG)
|
||||
if (BuildConfig.DEBUG) {
|
||||
cbHeaders.setVisibility(View.VISIBLE);
|
||||
cbHtml.setVisibility(View.VISIBLE);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -223,6 +227,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
|
||||
cbMessage.setEnabled(!isChecked);
|
||||
cbNotes.setEnabled(!isChecked);
|
||||
cbHeaders.setEnabled(!isChecked);
|
||||
cbHtml.setEnabled(!isChecked);
|
||||
cbUnseen.setEnabled(!isChecked);
|
||||
cbFlagged.setEnabled(!isChecked);
|
||||
cbHidden.setEnabled(!isChecked);
|
||||
@@ -319,6 +324,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
|
||||
|
||||
grpMore.setVisibility(View.GONE);
|
||||
cbHeaders.setVisibility(View.GONE);
|
||||
cbHtml.setVisibility(View.GONE);
|
||||
|
||||
etQuery.requestFocus();
|
||||
if (imm != null)
|
||||
@@ -362,6 +368,7 @@ public class FragmentDialogSearch extends FragmentDialogBase {
|
||||
criteria.in_message = cbMessage.isChecked();
|
||||
criteria.in_notes = cbNotes.isChecked();
|
||||
criteria.in_headers = cbHeaders.isChecked();
|
||||
criteria.in_html = cbHtml.isChecked();
|
||||
criteria.with_unseen = cbUnseen.isChecked();
|
||||
criteria.with_flagged = cbFlagged.isChecked();
|
||||
criteria.with_hidden = cbHidden.isChecked();
|
||||
|
||||
Reference in New Issue
Block a user