MCPcopy Create free account
hub / github.com/M66B/FairEmail / _execute

Method _execute

app/src/main/java/eu/faircode/email/EntityRule.java:649–701  ·  view source on GitHub ↗
(Context context, EntityMessage message, boolean browsed, String html)

Source from the content-addressed store, hash-verified

647 }
648
649 private boolean _execute(Context context, EntityMessage message, boolean browsed, String html) throws JSONException, IllegalArgumentException, IOException {
650 JSONObject jaction = new JSONObject(action);
651 int type = jaction.getInt("type");
652 EntityLog.log(context, EntityLog.Type.Rules, message,
653 "Executing rule=" + type + ":" + this.name + "@" + this.order);
654
655 switch (type) {
656 case TYPE_NOOP:
657 return false;
658 case TYPE_SEEN:
659 return onActionSeen(context, message, true);
660 case TYPE_UNSEEN:
661 return onActionSeen(context, message, false);
662 case TYPE_HIDE:
663 return onActionHide(context, message, jaction);
664 case TYPE_IGNORE:
665 return onActionIgnore(context, message, jaction);
666 case TYPE_SNOOZE:
667 return onActionSnooze(context, message, jaction);
668 case TYPE_FLAG:
669 return onActionFlag(context, message, jaction);
670 case TYPE_IMPORTANCE:
671 return onActionImportance(context, message, jaction);
672 case TYPE_KEYWORD:
673 return onActionKeyword(context, message, jaction);
674 case TYPE_MOVE:
675 return onActionMove(context, message, jaction);
676 case TYPE_COPY:
677 return onActionCopy(context, message, jaction);
678 case TYPE_ANSWER:
679 return onActionAnswer(context, message, browsed, jaction);
680 case TYPE_TTS:
681 return onActionTts(context, message, browsed, jaction);
682 case TYPE_AUTOMATION:
683 return onActionAutomation(context, message, jaction, html);
684 case TYPE_DELETE:
685 return onActionDelete(context, message, jaction);
686 case TYPE_SOUND:
687 return onActionSound(context, message, browsed, jaction);
688 case TYPE_LOCAL_ONLY:
689 return onActionLocalOnly(context, message, jaction);
690 case TYPE_NOTES:
691 return onActionNotes(context, message, jaction, html);
692 case TYPE_URL:
693 return onActionUrl(context, message, jaction, html);
694 case TYPE_SILENT:
695 return onActionSilent(context, message, jaction);
696 case TYPE_SUMMARIZE:
697 return onActionSummarize(context, message, browsed, jaction);
698 default:
699 throw new IllegalArgumentException("Unknown rule type=" + type + " name=" + name);
700 }
701 }
702
703 void validate(Context context) throws JSONException, IllegalArgumentException {
704 try {

Callers 1

executeMethod · 0.95

Calls 15

logMethod · 0.95
onActionSeenMethod · 0.95
onActionHideMethod · 0.95
onActionIgnoreMethod · 0.95
onActionSnoozeMethod · 0.95
onActionFlagMethod · 0.95
onActionImportanceMethod · 0.95
onActionKeywordMethod · 0.95
onActionMoveMethod · 0.95
onActionCopyMethod · 0.95
onActionAnswerMethod · 0.95
onActionTtsMethod · 0.95

Tested by

no test coverage detected