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

Method onSubject

app/src/main/java/eu/faircode/email/Core.java:3315–3350  ·  view source on GitHub ↗
(Context context, JSONArray jargs, EntityAccount account, EntityFolder folder, EntityMessage message, IMAPStore istore, IMAPFolder ifolder, State state)

Source from the content-addressed store, hash-verified

3313 }
3314
3315 private static void onSubject(Context context, JSONArray jargs, EntityAccount account, EntityFolder folder, EntityMessage message, IMAPStore istore, IMAPFolder ifolder, State state) throws JSONException, MessagingException, IOException {
3316 DB db = DB.getInstance(context);
3317
3318 String subject = (jargs.isNull(0) ? null : jargs.getString(0));
3319
3320 EntityFolder trash = db.folder().getFolderByType(message.account, EntityFolder.TRASH);
3321
3322 // Get message
3323 Message imessage = ifolder.getMessageByUID(message.uid);
3324 if (imessage == null)
3325 throw new MessageRemovedException();
3326
3327 String msgid = EntityMessage.generateMessageId();
3328 String ref = (TextUtils.isEmpty(message.references)
3329 ? message.msgid
3330 : message.references + " " + message.msgid);
3331 MimeMessage icopy = new MimeMessageEx((MimeMessage) imessage, msgid);
3332 icopy.setSubject(subject); // Update or delete subject
3333 icopy.addHeader("References", MessageHelper.limitReferences(ref));
3334 icopy.addHeader(MessageHelper.HEADER_MODIFIED_TIME, Long.toString(new Date().getTime()));
3335
3336 ifolder.appendMessages(new Message[]{icopy});
3337
3338 Long uid = findUid(context, account, ifolder, msgid, null);
3339 if (uid != null) {
3340 JSONArray fargs = new JSONArray();
3341 fargs.put(uid);
3342 onFetch(context, fargs, folder, istore, ifolder, state);
3343 }
3344
3345 if (trash == null) {
3346 imessage.setFlag(Flags.Flag.DELETED, true);
3347 expunge(context, ifolder, Arrays.asList(imessage));
3348 } else
3349 EntityOperation.queue(context, message, EntityOperation.MOVE, trash.id);
3350 }
3351
3352 private static void onSynchronizeMessages(
3353 Context context, JSONArray jargs,

Callers 1

processOperationsMethod · 0.95

Calls 15

getInstanceMethod · 0.95
folderMethod · 0.95
generateMessageIdMethod · 0.95
limitReferencesMethod · 0.95
findUidMethod · 0.95
onFetchMethod · 0.95
setFlagMethod · 0.95
expungeMethod · 0.95
queueMethod · 0.95
isNullMethod · 0.80
getFolderByTypeMethod · 0.80
getMessageByUIDMethod · 0.65

Tested by

no test coverage detected