(Context context, JSONArray jargs, EntityAccount account, EntityFolder folder, EntityMessage message, IMAPStore istore, IMAPFolder ifolder, State state)
| 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, |
no test coverage detected