mirror of https://github.com/M66B/FairEmail.git
Granular check header conditions
This commit is contained in:
parent
fbdff775ee
commit
dac2576484
|
@ -374,15 +374,18 @@ public class AdapterRule extends RecyclerView.Adapter<AdapterRule.ViewHolder> {
|
|||
if (rule == null)
|
||||
return 0;
|
||||
|
||||
JSONObject jcondition = new JSONObject(rule.condition);
|
||||
JSONObject jheader = jcondition.optJSONObject("header");
|
||||
if (jheader != null)
|
||||
throw new IllegalArgumentException(context.getString(R.string.title_rule_no_headers));
|
||||
|
||||
List<Long> ids = db.message().getMessageIdsByFolder(rule.folder);
|
||||
if (ids == null)
|
||||
return 0;
|
||||
|
||||
// Check header conditions
|
||||
for (long mid : ids) {
|
||||
EntityMessage message = db.message().getMessage(mid);
|
||||
if (message == null || message.ui_hide)
|
||||
continue;
|
||||
rule.matches(context, message, null, null);
|
||||
}
|
||||
|
||||
int applied = 0;
|
||||
for (long mid : ids)
|
||||
try {
|
||||
|
|
|
@ -1172,8 +1172,18 @@ public class FragmentFolders extends FragmentBase {
|
|||
List<Long> ids = db.message().getMessageIdsByFolder(fid);
|
||||
if (ids == null)
|
||||
return 0;
|
||||
|
||||
EntityLog.log(context, "Executing rules messages=" + ids.size());
|
||||
|
||||
// Check header conditions
|
||||
for (long mid : ids) {
|
||||
EntityMessage message = db.message().getMessage(mid);
|
||||
if (message == null || message.ui_hide)
|
||||
continue;
|
||||
for (EntityRule rule : rules)
|
||||
rule.matches(context, message, null, null);
|
||||
}
|
||||
|
||||
int applied = 0;
|
||||
for (long mid : ids)
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue