mirror of
https://github.com/M66B/FairEmail.git
synced 2026-04-14 21:13:37 +02:00
Granular check header conditions
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user