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

Method onActionMove

app/src/main/java/eu/faircode/email/EntityRule.java:843–1031  ·  view source on GitHub ↗
(Context context, EntityMessage message, JSONObject jargs)

Source from the content-addressed store, hash-verified

841 }
842
843 private boolean onActionMove(Context context, EntityMessage message, JSONObject jargs) {
844 long target = jargs.optLong("target", -1);
845 String create = jargs.optString("create");
846 boolean seen = jargs.optBoolean("seen");
847 boolean thread = jargs.optBoolean("thread");
848
849 DB db = DB.getInstance(context);
850
851 EntityFolder folder = db.folder().getFolder(target);
852 if (folder == null)
853 throw new IllegalArgumentException("Rule move to folder not found name=" + name);
854
855 if (!TextUtils.isEmpty(create)) {
856 Calendar calendar = Calendar.getInstance();
857 calendar.setTimeInMillis(message.received);
858 String year = String.format(Locale.ROOT, "%04d", calendar.get(Calendar.YEAR));
859 String month = String.format(Locale.ROOT, "%02d", calendar.get(Calendar.MONTH) + 1);
860 String week = String.format(Locale.ROOT, "%02d", calendar.get(Calendar.WEEK_OF_YEAR));
861 String day = String.format(Locale.ROOT, "%02d", calendar.get(Calendar.DAY_OF_MONTH));
862
863 create = create.replace("$year$", year);
864 create = create.replace("$month$", month);
865 create = create.replace("$week$", week);
866 create = create.replace("$day$", day);
867
868 String fromUser = null;
869 String fromExtra = null;
870 String fromDomain = null;
871 if (message.from != null &&
872 message.from.length > 0 &&
873 message.from[0] instanceof InternetAddress) {
874 InternetAddress from = (InternetAddress) message.from[0];
875 fromUser = UriHelper.getEmailUser(from.getAddress());
876 fromExtra = UriHelper.getEmailExtra(from.getAddress());
877 fromDomain = UriHelper.getEmailDomain(from.getAddress());
878 }
879
880 String toUser = null;
881 String toExtra = null;
882 String toDomain = null;
883 if (message.to != null &&
884 message.to.length > 0 &&
885 message.to[0] instanceof InternetAddress) {
886 InternetAddress to = (InternetAddress) message.to[0];
887 toUser = UriHelper.getEmailUser(to.getAddress());
888 toExtra = UriHelper.getEmailExtra(to.getAddress());
889 toDomain = UriHelper.getEmailDomain(to.getAddress());
890 }
891
892 create = create.replace("$user$", fromUser == null ? "" : fromUser);
893 create = create.replace("$extra$", fromExtra == null ? "" : fromExtra);
894 create = create.replace("$domain$", fromDomain == null ? "" : fromDomain);
895
896 create = create.replace("$user:from$", fromUser == null ? "" : fromUser);
897 create = create.replace("$extra:from$", fromExtra == null ? "" : fromExtra);
898 create = create.replace("$domain:from$", fromDomain == null ? "" : fromDomain);
899
900 create = create.replace("$user:to$", toUser == null ? "" : toUser);

Callers 1

_executeMethod · 0.95

Calls 15

getInstanceMethod · 0.95
folderMethod · 0.95
getEmailUserMethod · 0.95
getAddressMethod · 0.95
getEmailExtraMethod · 0.95
getEmailDomainMethod · 0.95
contactMethod · 0.95
iMethod · 0.95
hasPermissionMethod · 0.95
logMethod · 0.95
setPropertiesMethod · 0.95
accountMethod · 0.95

Tested by

no test coverage detected